diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yaml
similarity index 96%
rename from .github/workflows/backport.yml
rename to .github/workflows/backport.yaml
index 916deb8e8c..bb09d65f3b 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yaml
@@ -7,7 +7,7 @@ name: Backport
on:
pull_request_target:
- types: [ "labeled", "closed" ]
+ types: ["labeled", "closed"]
jobs:
backport:
diff --git a/.github/workflows/check_translations.yaml b/.github/workflows/check_translations.yaml
index 35bb75b426..9565f1a6d8 100644
--- a/.github/workflows/check_translations.yaml
+++ b/.github/workflows/check_translations.yaml
@@ -15,13 +15,12 @@ permissions:
contents: read
jobs:
-
check:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- INVENTREE_DB_NAME: './test_db.sqlite'
+ INVENTREE_DB_NAME: "./test_db.sqlite"
INVENTREE_DB_ENGINE: django.db.backends.sqlite3
INVENTREE_DEBUG: info
INVENTREE_MEDIA_ROOT: ./media
diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml
index 42af7251c2..0696e6694c 100644
--- a/.github/workflows/docker.yaml
+++ b/.github/workflows/docker.yaml
@@ -15,14 +15,18 @@ name: Docker
on:
release:
- types: [ published ]
+ types: [published]
push:
branches:
- - 'master'
+ - "master"
pull_request:
branches:
- - 'master'
+ - "master"
+
+env:
+ requests_version: 2.31.0
+ pyyaml_version: 6.0.1
permissions:
contents: read
@@ -30,8 +34,8 @@ permissions:
jobs:
paths-filter:
permissions:
- contents: read # for dorny/paths-filter to fetch a list of changed files
- pull-requests: read # for dorny/paths-filter to read pull requests
+ contents: read # for dorny/paths-filter to fetch a list of changed files
+ pull-requests: read # for dorny/paths-filter to read pull requests
name: Filter
runs-on: ubuntu-latest
@@ -65,7 +69,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
python_version: "3.11"
- runs-on: ubuntu-latest # in the future we can try to use alternative runners here
+ runs-on: ubuntu-latest # in the future we can try to use alternative runners here
steps:
- name: Check out repo
@@ -76,8 +80,8 @@ jobs:
python-version: ${{ env.python_version }}
- name: Version Check
run: |
- pip install requests==2.31.0
- pip install pyyaml==6.0.1
+ pip install requests==${{ env.requests_version }}
+ pip install pyyaml==${{ env.pyyaml_version }}
python3 .github/scripts/version_check.py
echo "git_commit_hash=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
echo "git_commit_date=$(git show -s --format=%ci)" >> $GITHUB_ENV
diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml
index 0f33bbbabe..3458c686b2 100644
--- a/.github/workflows/qc_checks.yaml
+++ b/.github/workflows/qc_checks.yaml
@@ -4,15 +4,17 @@ name: QC
on:
push:
- branches-ignore: [ 'l10*' ]
+ branches-ignore: ["l10*"]
pull_request:
- branches-ignore: [ 'l10*' ]
+ branches-ignore: ["l10*"]
env:
python_version: 3.9
node_version: 18
# The OS version must be set per job
server_start_sleep: 60
+ requests_version: 2.31.0
+ pyyaml_version: 6.0.1
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INVENTREE_DB_ENGINE: sqlite3
@@ -63,12 +65,11 @@ jobs:
contains(github.event.pull_request.labels.*.name, 'dependency') ||
contains(github.event.pull_request.labels.*.name, 'full-run')
-
javascript:
name: Style - Classic UI [JS]
runs-on: ubuntu-20.04
- needs: [ 'pre-commit' ]
+ needs: ["pre-commit"]
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1
@@ -98,12 +99,12 @@ jobs:
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5.1.0
with:
python-version: ${{ env.python_version }}
- cache: 'pip'
+ cache: "pip"
- name: Run pre-commit Checks
uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # pin@v3.0.1
- name: Check Version
run: |
- pip install requests==2.31.0
+ pip install requests==${{ env.requests_version }}
python3 .github/scripts/version_check.py
mkdocs:
@@ -121,7 +122,7 @@ jobs:
python-version: ${{ env.python_version }}
- name: Check Config
run: |
- pip install pyyaml==6.0.1
+ pip install pyyaml==${{ env.pyyaml_version }}
pip install -r docs/requirements.txt
python docs/ci/check_mkdocs_config.py
- name: Check Links
@@ -129,8 +130,8 @@ jobs:
with:
folder-path: docs
config-file: docs/mlc_config.json
- check-modified-files-only: 'yes'
- use-quiet-mode: 'yes'
+ check-modified-files-only: "yes"
+ use-quiet-mode: "yes"
schema:
name: Tests - API Schema Documentation
@@ -167,7 +168,7 @@ jobs:
- name: Download public schema
if: needs.paths-filter.outputs.api == 'false'
run: |
- pip install requests==2.31.0 >/dev/null 2>&1
+ pip install requests==${{ env.requests_version }} >/dev/null 2>&1
version="$(python3 .github/scripts/version_check.py only_version 2>&1)"
echo "Version: $version"
url="https://raw.githubusercontent.com/inventree/schema/main/export/${version}/api.yaml"
@@ -186,42 +187,42 @@ jobs:
id: version
if: github.ref == 'refs/heads/master' && needs.paths-filter.outputs.api == 'true'
run: |
- pip install requests==2.31.0 >/dev/null 2>&1
+ pip install requests==${{ env.requests_version }} >/dev/null 2>&1
version="$(python3 .github/scripts/version_check.py only_version 2>&1)"
echo "Version: $version"
echo "version=$version" >> "$GITHUB_OUTPUT"
schema-push:
- name: Push new schema
- runs-on: ubuntu-20.04
- needs: [paths-filter, schema]
- if: needs.schema.result == 'success' && github.ref == 'refs/heads/master' && needs.paths-filter.outputs.api == 'true' && github.repository_owner == 'inventree'
- env:
- version: ${{ needs.schema.outputs.version }}
+ name: Push new schema
+ runs-on: ubuntu-20.04
+ needs: [paths-filter, schema]
+ if: needs.schema.result == 'success' && github.ref == 'refs/heads/master' && needs.paths-filter.outputs.api == 'true' && github.repository_owner == 'inventree'
+ env:
+ version: ${{ needs.schema.outputs.version }}
- steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- with:
- repository: inventree/schema
- token: ${{ secrets.SCHEMA_PAT }}
- - name: Download schema artifact
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
- with:
- name: schema.yml
- - name: Move schema to correct location
- run: |
- echo "Version: $version"
- mkdir export/${version}
- mv schema.yml export/${version}/api.yaml
- - uses: stefanzweifel/git-auto-commit-action@8621497c8c39c72f3e2a999a26b4ca1b5058a842 # v5.0.1
- with:
- commit_message: "Update API schema for ${version}"
+ steps:
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ with:
+ repository: inventree/schema
+ token: ${{ secrets.SCHEMA_PAT }}
+ - name: Download schema artifact
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
+ with:
+ name: schema.yml
+ - name: Move schema to correct location
+ run: |
+ echo "Version: $version"
+ mkdir export/${version}
+ mv schema.yml export/${version}/api.yaml
+ - uses: stefanzweifel/git-auto-commit-action@8621497c8c39c72f3e2a999a26b4ca1b5058a842 # v5.0.1
+ with:
+ commit_message: "Update API schema for ${version}"
python:
name: Tests - inventree-python
runs-on: ubuntu-20.04
- needs: [ 'pre-commit', 'paths-filter' ]
+ needs: ["pre-commit", "paths-filter"]
if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true'
env:
@@ -263,7 +264,7 @@ jobs:
name: Tests - DB [SQLite] + Coverage
runs-on: ubuntu-20.04
- needs: [ 'pre-commit', 'paths-filter' ]
+ needs: ["pre-commit", "paths-filter"]
if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true'
continue-on-error: true # continue if a step fails so that coverage gets pushed
@@ -300,7 +301,7 @@ jobs:
git-branch: ${{ github.ref }}
parallel: true
- name: Upload coverage reports to Codecov
- uses: codecov/codecov-action@v4.3.0
+ uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # pin@v4.3.0
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
@@ -310,14 +311,14 @@ jobs:
postgres:
name: Tests - DB [PostgreSQL]
runs-on: ubuntu-20.04
- needs: [ 'pre-commit', 'paths-filter' ]
+ needs: ["pre-commit", "paths-filter"]
if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true'
env:
INVENTREE_DB_ENGINE: django.db.backends.postgresql
INVENTREE_DB_USER: inventree
INVENTREE_DB_PASSWORD: password
- INVENTREE_DB_HOST: '127.0.0.1'
+ INVENTREE_DB_HOST: "127.0.0.1"
INVENTREE_DB_PORT: 5432
INVENTREE_DEBUG: info
INVENTREE_CACHE_HOST: localhost
@@ -355,7 +356,7 @@ jobs:
name: Tests - DB [MySQL]
runs-on: ubuntu-20.04
- needs: [ 'pre-commit', 'paths-filter' ]
+ needs: ["pre-commit", "paths-filter"]
if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true'
env:
@@ -363,7 +364,7 @@ jobs:
INVENTREE_DB_ENGINE: django.db.backends.mysql
INVENTREE_DB_USER: root
INVENTREE_DB_PASSWORD: password
- INVENTREE_DB_HOST: '127.0.0.1'
+ INVENTREE_DB_HOST: "127.0.0.1"
INVENTREE_DB_PORT: 3306
INVENTREE_DEBUG: info
INVENTREE_PLUGINS_ENABLED: true
@@ -406,7 +407,7 @@ jobs:
INVENTREE_DB_NAME: inventree
INVENTREE_DB_USER: inventree
INVENTREE_DB_PASSWORD: password
- INVENTREE_DB_HOST: '127.0.0.1'
+ INVENTREE_DB_HOST: "127.0.0.1"
INVENTREE_DB_PORT: 5432
INVENTREE_DEBUG: info
INVENTREE_PLUGINS_ENABLED: false
@@ -440,7 +441,7 @@ jobs:
git-commit: ${{ github.sha }}
git-branch: ${{ github.ref }}
- name: Upload coverage reports to Codecov
- uses: codecov/codecov-action@v4.3.0
+ uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # pin@v4.3.0
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
@@ -507,7 +508,7 @@ jobs:
name: Tests - Platform UI
runs-on: ubuntu-20.04
timeout-minutes: 60
- needs: [ 'pre-commit', 'paths-filter' ]
+ needs: ["pre-commit", "paths-filter"]
if: needs.paths-filter.outputs.frontend == 'true' || needs.paths-filter.outputs.force == 'true'
env:
INVENTREE_DB_ENGINE: sqlite3
@@ -535,7 +536,7 @@ jobs:
- name: Run Playwright tests
id: tests
run: cd src/frontend && npx nyc playwright test
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # pin@v4
if: ${{ !cancelled() && steps.tests.outcome == 'failure' }}
with:
name: playwright-report
@@ -545,7 +546,7 @@ jobs:
if: always()
run: cd src/frontend && npx nyc report --report-dir ./coverage --temp-dir .nyc_output --reporter=lcov --exclude-after-remap false
- name: Upload coverage reports to Codecov
- uses: codecov/codecov-action@v4.3.0
+ uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # pin@v4.3.0
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yaml
similarity index 93%
rename from .github/workflows/release.yml
rename to .github/workflows/release.yaml
index 4d16bdaac8..61fb93abb3 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yaml
@@ -3,13 +3,15 @@
name: Publish release notes
on:
release:
- types: [ published ]
+ types: [published]
+
+env:
+ requests_version: 2.31.0
permissions:
contents: read
jobs:
-
stable:
runs-on: ubuntu-latest
env:
@@ -19,7 +21,7 @@ jobs:
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1
- name: Version Check
run: |
- pip install requests==2.31.0
+ pip install requests==${{ env.requests_version }}
python3 .github/scripts/version_check.py
- name: Push to Stable Branch
uses: ad-m/github-push-action@d91a481090679876dfc4178fef17f286781251df # pin@v0.8.0
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yaml
similarity index 98%
rename from .github/workflows/scorecard.yml
rename to .github/workflows/scorecard.yaml
index 2205ed9285..6db68c5d05 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yaml
@@ -10,9 +10,9 @@ on:
# To guarantee Maintained check is occasionally updated. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
schedule:
- - cron: '32 0 * * 0'
+ - cron: "32 0 * * 0"
push:
- branches: [ "master" ]
+ branches: ["master"]
# Declare default permissions as read only.
permissions: read-all
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yaml
similarity index 57%
rename from .github/workflows/stale.yml
rename to .github/workflows/stale.yaml
index e48c2bd014..e5c7962bf6 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yaml
@@ -3,14 +3,13 @@ name: Mark stale issues and pull requests
on:
schedule:
- - cron: '24 11 * * *'
+ - cron: "24 11 * * *"
permissions:
contents: read
jobs:
stale:
-
runs-on: ubuntu-latest
permissions:
issues: write
@@ -20,9 +19,9 @@ jobs:
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # pin@v9.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- stale-issue-message: 'This issue seems stale. Please react to show this is still important.'
- stale-pr-message: 'This PR seems stale. Please react to show this is still important.'
- stale-issue-label: 'inactive'
- stale-pr-label: 'inactive'
- start-date: '2022-01-01'
+ stale-issue-message: "This issue seems stale. Please react to show this is still important."
+ stale-pr-message: "This PR seems stale. Please react to show this is still important."
+ stale-issue-label: "inactive"
+ stale-pr-label: "inactive"
+ start-date: "2022-01-01"
exempt-all-milestones: true
diff --git a/.github/workflows/translations.yml b/.github/workflows/translations.yaml
similarity index 96%
rename from .github/workflows/translations.yml
rename to .github/workflows/translations.yaml
index b719fa8a67..c0438b60ea 100644
--- a/.github/workflows/translations.yml
+++ b/.github/workflows/translations.yaml
@@ -14,14 +14,13 @@ permissions:
jobs:
build:
-
runs-on: ubuntu-latest
permissions:
contents: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- INVENTREE_DB_NAME: './test_db.sqlite'
+ INVENTREE_DB_NAME: "./test_db.sqlite"
INVENTREE_DB_ENGINE: django.db.backends.sqlite3
INVENTREE_DEBUG: info
INVENTREE_MEDIA_ROOT: ./media
diff --git a/docs/README.md b/docs/README.md
index 989183c832..578afc13e8 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -12,8 +12,7 @@ Run the following commands from the top-level project directory:
```
$ git clone https://github.com/inventree/inventree
-$ cd inventree/docs
-$ pip install -r requirements.txt
+$ pip install -r docs/requirements.txt
```
## Serve Locally
diff --git a/docs/docs/assets/images/order/company_disable.png b/docs/docs/assets/images/order/company_disable.png
new file mode 100644
index 0000000000..2c3ab4f49f
Binary files /dev/null and b/docs/docs/assets/images/order/company_disable.png differ
diff --git a/docs/docs/assets/images/order/disable_supplier_part.png b/docs/docs/assets/images/order/disable_supplier_part.png
new file mode 100644
index 0000000000..a0e5f9bde8
Binary files /dev/null and b/docs/docs/assets/images/order/disable_supplier_part.png differ
diff --git a/docs/docs/assets/images/order/disable_supplier_part_edit.png b/docs/docs/assets/images/order/disable_supplier_part_edit.png
new file mode 100644
index 0000000000..2592f5ed91
Binary files /dev/null and b/docs/docs/assets/images/order/disable_supplier_part_edit.png differ
diff --git a/docs/docs/order/company.md b/docs/docs/order/company.md
index c99994b867..3e4d821046 100644
--- a/docs/docs/order/company.md
+++ b/docs/docs/order/company.md
@@ -11,7 +11,7 @@ External companies are represented by the *Company* database model. Each company
- [Manufacturer](#manufacturers)
!!! tip Multi Purpose
- A company may be allocated to multiple categories
+ A company may be allocated to multiple categories, for example, a company may be both a supplier and a customer.
### Edit Company
@@ -20,6 +20,20 @@ To edit a company, click on the Edit Company ic
!!! warning "Permission Required"
The edit button will not be available to users who do not have the required permissions to edit the company
+### Disable Company
+
+Rather than deleting a company, it is possible to disable it. This will prevent the company from being used in new orders, but will not remove it from the database. Additionally, any existing orders associated with the company (and other linked items such as supplier parts, for a supplier) will remain intact. Unless the company is re-enabled, it will not be available for selection in new orders.
+
+It is recommended to disable a company rather than deleting it, as this will preserve the integrity of historical data.
+
+To disable a company, simply edit the company details and set the `active` attribute to `False`:
+
+{% with id="company_disable", url="order/company_disable.png", description="Disable Company" %}
+{% include "img.html" %}
+{% endwith %}
+
+To re-enable a company, simply follow the same process and set the `active` attribute to `True`.
+
### Delete Company
To delete a company, click on the icon under the actions menu. Confirm the deletion using the checkbox then click on Submit
@@ -193,6 +207,24 @@ To edit a supplier part, first access the supplier part detail page with one of
After the supplier part details are loaded, click on the icon next to the supplier part image. Edit the supplier part information then click on Submit
+#### Disable Supplier Part
+
+Supplier parts can be individually disabled - for example, if a supplier part is no longer available for purchase. By disabling the part in the InvenTree system, it will no longer be available for selection in new purchase orders. However, any existing purchase orders which reference the supplier part will remain intact.
+
+The "active" status of a supplier part is clearly visible within the user interface:
+
+{% with id="supplier_part_disable", url="order/disable_supplier_part.png", description="Disable Supplier Part" %}
+{% include "img.html" %}
+{% endwith %}
+
+To change the "active" status of a supplier part, simply edit the supplier part details and set the `active` attribute:
+
+{% with id="supplier_part_disable_edit", url="order/disable_supplier_part_edit.png", description="Disable Supplier Part" %}
+{% include "img.html" %}
+{% endwith %}
+
+It is recommended to disable a supplier part rather than deleting it, as this will preserve the integrity of historical data.
+
#### Delete Supplier Part
To delete a supplier part, first access the supplier part detail page like in the [Edit Supplier Part](#edit-supplier-part) section.
diff --git a/docs/docs/start/docker_install.md b/docs/docs/start/docker_install.md
index 36cd804c76..099588d6b7 100644
--- a/docs/docs/start/docker_install.md
+++ b/docs/docs/start/docker_install.md
@@ -31,9 +31,9 @@ The following files required for this setup are provided with the InvenTree sour
| Filename | Description |
| --- | --- |
-| [docker-compose.yml](https://github.com/inventree/InvenTree/blob/master/contrib/container/docker-compose.yml) | The docker compose script |
-| [.env](https://github.com/inventree/InvenTree/blob/master/contrib/container/.env) | Environment variables |
-| [Caddyfile](https://github.com/inventree/InvenTree/blob/master/contrib/container/Caddyfile) | Caddy configuration file |
+| [docker-compose.yml](https://raw.githubusercontent.com/inventree/InvenTree/master/contrib/container/docker-compose.yml)| The docker compose script |
+| [.env](https://raw.githubusercontent.com/inventree/InvenTree/master/contrib/container/.env) | Environment variables |
+| [Caddyfile](https://raw.githubusercontent.com/inventree/InvenTree/master/contrib/container/Caddyfile) | Caddy configuration file |
Download these files to a directory on your local machine.
diff --git a/src/backend/.eslintrc.yml b/src/backend/.eslintrc.yml
deleted file mode 100644
index 9da6c9055a..0000000000
--- a/src/backend/.eslintrc.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-env:
- commonjs: false
- browser: true
- es2021: true
- jquery: true
-extends:
- - eslint:recommended
-parserOptions:
- ecmaVersion: 12
-rules:
- no-var: off
- guard-for-in: off
- no-trailing-spaces: off
- camelcase: off
- padded-blocks: off
- prefer-const: off
- max-len: off
- require-jsdoc: off
- valid-jsdoc: off
- no-multiple-empty-lines: off
- comma-dangle: off
- no-unused-vars: off
- no-useless-escape: off
- prefer-spread: off
- indent:
- - error
- - 4
diff --git a/src/backend/InvenTree/InvenTree/api_version.py b/src/backend/InvenTree/InvenTree/api_version.py
index b0fde97af8..94aa80c38e 100644
--- a/src/backend/InvenTree/InvenTree/api_version.py
+++ b/src/backend/InvenTree/InvenTree/api_version.py
@@ -1,11 +1,18 @@
"""InvenTree API version information."""
# InvenTree API version
-INVENTREE_API_VERSION = 188
+INVENTREE_API_VERSION = 190
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
INVENTREE_API_TEXT = """
+v190 - 2024-04-19 : https://github.com/inventree/InvenTree/pull/7024
+ - Adds "active" field to the Company API endpoints
+ - Allow company list to be filtered by "active" status
+
+v189 - 2024-04-19 : https://github.com/inventree/InvenTree/pull/7066
+ - Adds "currency" field to CompanyBriefSerializer class
+
v188 - 2024-04-16 : https://github.com/inventree/InvenTree/pull/6970
- Adds session authentication support for the API
- Improvements for login / logout endpoints for better support of React web interface
diff --git a/src/backend/InvenTree/InvenTree/settings.py b/src/backend/InvenTree/InvenTree/settings.py
index a32a2fbd77..7bda362b49 100644
--- a/src/backend/InvenTree/InvenTree/settings.py
+++ b/src/backend/InvenTree/InvenTree/settings.py
@@ -1087,14 +1087,17 @@ CSRF_TRUSTED_ORIGINS = get_setting(
if SITE_URL and SITE_URL not in CSRF_TRUSTED_ORIGINS:
CSRF_TRUSTED_ORIGINS.append(SITE_URL)
-if not TESTING and len(CSRF_TRUSTED_ORIGINS) == 0:
- if DEBUG:
- logger.warning(
- 'No CSRF_TRUSTED_ORIGINS specified. Defaulting to http://* for debug mode. This is not recommended for production use'
- )
- CSRF_TRUSTED_ORIGINS = ['http://*']
+if DEBUG:
+ for origin in [
+ 'http://localhost',
+ 'http://*.localhost' 'http://*localhost:8000',
+ 'http://*localhost:5173',
+ ]:
+ if origin not in CSRF_TRUSTED_ORIGINS:
+ CSRF_TRUSTED_ORIGINS.append(origin)
- elif isInMainThread():
+if not TESTING and len(CSRF_TRUSTED_ORIGINS) == 0:
+ if isInMainThread():
# Server thread cannot run without CSRF_TRUSTED_ORIGINS
logger.error(
'No CSRF_TRUSTED_ORIGINS specified. Please provide a list of trusted origins, or specify INVENTREE_SITE_URL'
diff --git a/src/backend/InvenTree/common/views.py b/src/backend/InvenTree/common/views.py
index 3d9cd53c22..8f1fbe0e40 100644
--- a/src/backend/InvenTree/common/views.py
+++ b/src/backend/InvenTree/common/views.py
@@ -269,7 +269,7 @@ class FileManagementFormView(MultiStepFormView):
for idx, item in row_data.items():
column_data = {
'name': self.column_names[idx],
- 'guess': self.column_selections[idx],
+ 'guess': self.column_selections.get(idx, ''),
}
cell_data = {'cell': item, 'idx': idx, 'column': column_data}
diff --git a/src/backend/InvenTree/company/api.py b/src/backend/InvenTree/company/api.py
index 88b2c640bd..aea8d5dc5e 100644
--- a/src/backend/InvenTree/company/api.py
+++ b/src/backend/InvenTree/company/api.py
@@ -2,6 +2,7 @@
from django.db.models import Q
from django.urls import include, path, re_path
+from django.utils.translation import gettext_lazy as _
from django_filters import rest_framework as rest_filters
@@ -58,11 +59,17 @@ class CompanyList(ListCreateAPI):
filter_backends = SEARCH_ORDER_FILTER
- filterset_fields = ['is_customer', 'is_manufacturer', 'is_supplier', 'name']
+ filterset_fields = [
+ 'is_customer',
+ 'is_manufacturer',
+ 'is_supplier',
+ 'name',
+ 'active',
+ ]
search_fields = ['name', 'description', 'website']
- ordering_fields = ['name', 'parts_supplied', 'parts_manufactured']
+ ordering_fields = ['active', 'name', 'parts_supplied', 'parts_manufactured']
ordering = 'name'
@@ -153,7 +160,13 @@ class ManufacturerPartFilter(rest_filters.FilterSet):
fields = ['manufacturer', 'MPN', 'part', 'tags__name', 'tags__slug']
# Filter by 'active' status of linked part
- active = rest_filters.BooleanFilter(field_name='part__active')
+ part_active = rest_filters.BooleanFilter(
+ field_name='part__active', label=_('Part is Active')
+ )
+
+ manufacturer_active = rest_filters.BooleanFilter(
+ field_name='manufacturer__active', label=_('Manufacturer is Active')
+ )
class ManufacturerPartList(ListCreateDestroyAPIView):
@@ -301,8 +314,16 @@ class SupplierPartFilter(rest_filters.FilterSet):
'tags__slug',
]
+ active = rest_filters.BooleanFilter(label=_('Supplier Part is Active'))
+
# Filter by 'active' status of linked part
- active = rest_filters.BooleanFilter(field_name='part__active')
+ part_active = rest_filters.BooleanFilter(
+ field_name='part__active', label=_('Internal Part is Active')
+ )
+
+ supplier_active = rest_filters.BooleanFilter(
+ field_name='supplier__active', label=_('Supplier is Active')
+ )
# Filter by the 'MPN' of linked manufacturer part
MPN = rest_filters.CharFilter(
@@ -378,6 +399,7 @@ class SupplierPartList(ListCreateDestroyAPIView):
'part',
'supplier',
'manufacturer',
+ 'active',
'MPN',
'packaging',
'pack_quantity',
diff --git a/src/backend/InvenTree/company/migrations/0069_company_active.py b/src/backend/InvenTree/company/migrations/0069_company_active.py
new file mode 100644
index 0000000000..120046f6fc
--- /dev/null
+++ b/src/backend/InvenTree/company/migrations/0069_company_active.py
@@ -0,0 +1,23 @@
+# Generated by Django 4.2.11 on 2024-04-15 14:42
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('company', '0068_auto_20231120_1108'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='company',
+ name='active',
+ field=models.BooleanField(default=True, help_text='Is this company active?', verbose_name='Active'),
+ ),
+ migrations.AddField(
+ model_name='supplierpart',
+ name='active',
+ field=models.BooleanField(default=True, help_text='Is this supplier part active?', verbose_name='Active'),
+ ),
+ ]
diff --git a/src/backend/InvenTree/company/models.py b/src/backend/InvenTree/company/models.py
index dc21dc62b1..b891b5b065 100644
--- a/src/backend/InvenTree/company/models.py
+++ b/src/backend/InvenTree/company/models.py
@@ -81,6 +81,7 @@ class Company(
link: Secondary URL e.g. for link to internal Wiki page
image: Company image / logo
notes: Extra notes about the company
+ active: boolean value, is this company active
is_customer: boolean value, is this company a customer
is_supplier: boolean value, is this company a supplier
is_manufacturer: boolean value, is this company a manufacturer
@@ -155,6 +156,10 @@ class Company(
verbose_name=_('Image'),
)
+ active = models.BooleanField(
+ default=True, verbose_name=_('Active'), help_text=_('Is this company active?')
+ )
+
is_customer = models.BooleanField(
default=False,
verbose_name=_('is customer'),
@@ -654,6 +659,7 @@ class SupplierPart(
part: Link to the master Part (Obsolete)
source_item: The sourcing item linked to this SupplierPart instance
supplier: Company that supplies this SupplierPart object
+ active: Boolean value, is this supplier part active
SKU: Stock keeping unit (supplier part number)
link: Link to external website for this supplier part
description: Descriptive notes field
@@ -802,6 +808,12 @@ class SupplierPart(
help_text=_('Supplier stock keeping unit'),
)
+ active = models.BooleanField(
+ default=True,
+ verbose_name=_('Active'),
+ help_text=_('Is this supplier part active?'),
+ )
+
manufacturer_part = models.ForeignKey(
ManufacturerPart,
on_delete=models.CASCADE,
diff --git a/src/backend/InvenTree/company/serializers.py b/src/backend/InvenTree/company/serializers.py
index f94333aca8..e329ea44e6 100644
--- a/src/backend/InvenTree/company/serializers.py
+++ b/src/backend/InvenTree/company/serializers.py
@@ -42,9 +42,16 @@ class CompanyBriefSerializer(InvenTreeModelSerializer):
"""Metaclass options."""
model = Company
- fields = ['pk', 'url', 'name', 'description', 'image', 'thumbnail']
-
- url = serializers.CharField(source='get_absolute_url', read_only=True)
+ fields = [
+ 'pk',
+ 'active',
+ 'name',
+ 'description',
+ 'image',
+ 'thumbnail',
+ 'currency',
+ ]
+ read_only_fields = ['currency']
image = InvenTreeImageSerializerField(read_only=True)
@@ -116,6 +123,7 @@ class CompanySerializer(RemoteImageMixin, InvenTreeModelSerializer):
'contact',
'link',
'image',
+ 'active',
'is_customer',
'is_manufacturer',
'is_supplier',
@@ -306,6 +314,7 @@ class SupplierPartSerializer(InvenTreeTagModelSerializer):
'description',
'in_stock',
'link',
+ 'active',
'manufacturer',
'manufacturer_detail',
'manufacturer_part',
@@ -369,8 +378,9 @@ class SupplierPartSerializer(InvenTreeTagModelSerializer):
self.fields.pop('pretty_name')
# Annotated field showing total in-stock quantity
- in_stock = serializers.FloatField(read_only=True)
- available = serializers.FloatField(required=False)
+ in_stock = serializers.FloatField(read_only=True, label=_('In Stock'))
+
+ available = serializers.FloatField(required=False, label=_('Available'))
pack_quantity_native = serializers.FloatField(read_only=True)
diff --git a/src/backend/InvenTree/company/templates/company/company_base.html b/src/backend/InvenTree/company/templates/company/company_base.html
index 87f8cf10c9..c7c7efde12 100644
--- a/src/backend/InvenTree/company/templates/company/company_base.html
+++ b/src/backend/InvenTree/company/templates/company/company_base.html
@@ -10,6 +10,12 @@
{% block heading %}
{% trans "Company" %}: {{ company.name }}
+{% if not company.active %}
+
+
+ {% trans 'Inactive' %}
+
+{% endif %}
{% endblock heading %}
{% block actions %}
diff --git a/src/backend/InvenTree/company/test_api.py b/src/backend/InvenTree/company/test_api.py
index dcb8dc81dc..332292ca3c 100644
--- a/src/backend/InvenTree/company/test_api.py
+++ b/src/backend/InvenTree/company/test_api.py
@@ -5,6 +5,7 @@ from django.urls import reverse
from rest_framework import status
from InvenTree.unit_test import InvenTreeAPITestCase
+from part.models import Part
from .models import Address, Company, Contact, ManufacturerPart, SupplierPart
@@ -131,6 +132,32 @@ class CompanyTest(InvenTreeAPITestCase):
self.assertTrue('currency' in response.data)
+ def test_company_active(self):
+ """Test that the 'active' value and filter works."""
+ Company.objects.filter(active=False).update(active=True)
+ n = Company.objects.count()
+
+ url = reverse('api-company-list')
+
+ self.assertEqual(
+ len(self.get(url, data={'active': True}, expected_code=200).data), n
+ )
+ self.assertEqual(
+ len(self.get(url, data={'active': False}, expected_code=200).data), 0
+ )
+
+ # Set one company to inactive
+ c = Company.objects.first()
+ c.active = False
+ c.save()
+
+ self.assertEqual(
+ len(self.get(url, data={'active': True}, expected_code=200).data), n - 1
+ )
+ self.assertEqual(
+ len(self.get(url, data={'active': False}, expected_code=200).data), 1
+ )
+
class ContactTest(InvenTreeAPITestCase):
"""Tests for the Contact models."""
@@ -528,6 +555,50 @@ class SupplierPartTest(InvenTreeAPITestCase):
self.assertEqual(sp.available, 999)
self.assertIsNotNone(sp.availability_updated)
+ def test_active(self):
+ """Test that 'active' status filtering works correctly."""
+ url = reverse('api-supplier-part-list')
+
+ # Create a new company, which is inactive
+ company = Company.objects.create(
+ name='Inactive Company', is_supplier=True, active=False
+ )
+
+ part = Part.objects.filter(purchaseable=True).first()
+
+ # Create some new supplier part objects, *some* of which are inactive
+ for idx in range(10):
+ SupplierPart.objects.create(
+ part=part,
+ supplier=company,
+ SKU=f'CMP-{company.pk}-SKU-{idx}',
+ active=(idx % 2 == 0),
+ )
+
+ n = SupplierPart.objects.count()
+
+ # List *all* supplier parts
+ self.assertEqual(len(self.get(url, data={}, expected_code=200).data), n)
+
+ # List only active supplier parts (all except 5 from the new supplier)
+ self.assertEqual(
+ len(self.get(url, data={'active': True}, expected_code=200).data), n - 5
+ )
+
+ # List only from 'active' suppliers (all except this new supplier)
+ self.assertEqual(
+ len(self.get(url, data={'supplier_active': True}, expected_code=200).data),
+ n - 10,
+ )
+
+ # List active parts from inactive suppliers (only 5 from the new supplier)
+ response = self.get(
+ url, data={'supplier_active': False, 'active': True}, expected_code=200
+ )
+ self.assertEqual(len(response.data), 5)
+ for result in response.data:
+ self.assertEqual(result['supplier'], company.pk)
+
class CompanyMetadataAPITest(InvenTreeAPITestCase):
"""Unit tests for the various metadata endpoints of API."""
diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po
index 73496703eb..3f11150443 100644
--- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Language: bg_BG\n"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Цялостна наличност"
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po
index ad9b0b9087..ecdb4e0e1b 100644
--- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-17 03:36\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -682,7 +682,7 @@ msgstr "URL souboru vzdáleného obrázku"
msgid "Downloading images from remote URL is not enabled"
msgstr "Stahování obrázků ze vzdálené URL není povoleno"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Kontrola procesů na pozadí se nezdařila"
@@ -740,7 +740,7 @@ msgstr "Odesláno"
#: InvenTree/status_codes.py:62
msgid "OK"
-msgstr ""
+msgstr "OK"
#: InvenTree/status_codes.py:63
msgid "Attention needed"
@@ -1034,7 +1034,7 @@ msgstr "Referenční číslo objednávky"
#: templates/js/translated/return_order.js:729
#: templates/js/translated/sales_order.js:1818
msgid "Reference"
-msgstr ""
+msgstr "Reference"
#: build/models.py:191
msgid "Brief description of the build (optional)"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Příkaz sestavení pro který je toto sestavení přiděleno"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Výstup sestavení neodpovídá příkazu sestavení"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Množství musí být vyšší než nula"
@@ -1411,27 +1411,27 @@ msgstr "Vytvořený výstup neodpovídá nadřazenému sestavení"
#: build/serializers.py:176
msgid "Output part does not match BuildOrder part"
-msgstr ""
+msgstr "Výstupní část se neshoduje s částí příkazu sestavení"
#: build/serializers.py:180
msgid "This build output has already been completed"
-msgstr ""
+msgstr "Výstup sestavení je již dokončen"
#: build/serializers.py:191
msgid "This build output is not fully allocated"
-msgstr ""
+msgstr "Tento stavební výstup není plně přiřazen"
#: build/serializers.py:211 build/serializers.py:248
msgid "Enter quantity for build output"
-msgstr ""
+msgstr "Zadejte množství pro výstup sestavení"
#: build/serializers.py:269
msgid "Integer quantity required for trackable parts"
-msgstr ""
+msgstr "Celé množství požadované pro sledovatelné díly"
#: build/serializers.py:272
msgid "Integer quantity required, as the bill of materials contains trackable parts"
-msgstr ""
+msgstr "Je vyžadována celočíselná hodnota množství, protože kusovník obsahuje sledovatelné díly"
#: build/serializers.py:287 order/serializers.py:585 order/serializers.py:1339
#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4125,7 +4125,7 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1690
#: templates/js/translated/table_filters.js:800
msgid "Supplier"
-msgstr ""
+msgstr "Dodavatel"
#: company/models.py:796
msgid "Select supplier"
@@ -4156,7 +4156,7 @@ msgstr ""
#: report/templates/report/inventree_so_report_base.html:32
#: stock/serializers.py:579
msgid "Note"
-msgstr ""
+msgstr "Poznámka"
#: company/models.py:843 part/models.py:1967
msgid "base cost"
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr "IPN dílu"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Aktualizovat díly"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Aktualizovat cenu pro díl"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7274,7 +7288,7 @@ msgstr ""
#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
-msgstr ""
+msgstr "Kusovník"
#: part/templates/part/detail.html:260
msgid "Export actions"
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po
index 202408fea9..45917a111c 100644
--- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -682,7 +682,7 @@ msgstr "URL til ekstern billedfil"
msgid "Downloading images from remote URL is not enabled"
msgstr "Download af billeder fra ekstern URL er ikke aktiveret"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Kontrol af baggrundstjeneste mislykkedes"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Produktionsordre som er tildelt denne produktion"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po
index 464a2dda0b..503a0a9cc0 100644
--- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -682,7 +682,7 @@ msgstr "URL der Remote-Bilddatei"
msgid "Downloading images from remote URL is not enabled"
msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Eine Liste von Endprodukten muss angegeben werden"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr "Zugewiesener Bestand"
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr "Zugewiesener Bestand"
msgid "On Order"
msgstr "Bestellt"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "In Produktion"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Fertiggestellte Endprodukte"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr "{verbose_name} storniert"
msgid "A order that is assigned to you was canceled"
msgstr "Eine Bestellung, die Ihnen zugewiesen war, wurde storniert"
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Artikel erhalten"
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr "Herstellerteil löschen"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Internes Teil"
@@ -4484,7 +4484,7 @@ msgstr "Keine Herstellerdaten verfügbar"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr "Adressen"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr "Verfügbarkeit der Teile aktualisieren"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr "Anzahl der zu druckenden Kopien für jedes Label"
msgid "Connected"
msgstr "Verbunden"
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Unbekannt"
@@ -4865,11 +4865,37 @@ msgstr "Konfigurationstyp"
msgid "Total Price"
msgstr "Gesamtpreis"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Bestellstatus"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Keine passende Bestellung gefunden"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Bestellung"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr "Keine passende Bestellung gefunden"
msgid "Purchase Order"
msgstr "Bestellung"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr "Lieferantenteil muss mit Lieferant übereinstimmen"
msgid "deleted"
msgstr "gelöscht"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Bestellung"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Zuliefererteil"
@@ -5507,12 +5527,6 @@ msgstr "Bestellreferenz"
msgid "Order Description"
msgstr "Bestellungsbeschreibung"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Bestellstatus"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Keine Lieferanteninformationen verfügbar"
@@ -5947,92 +5961,92 @@ msgstr "Übergeordnete IPN"
msgid "Part IPN"
msgstr "Teil IPN"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Niedrigster Preis"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Höchster Preis"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr "Markiert"
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr "Nach markierten Kategorien filtern"
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr "Ebenen"
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr "Filter nach Kategorietiefe"
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr "Mehrstufig"
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr "Unterkategorien in gefilterte Ergebnisse einbeziehen"
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr "Übergeordnetes"
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr "Nach übergeordneter Kategorie filtern"
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr "Baum ausschließen"
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr "Unterkategorien in der angegebenen Kategorie ausschließen"
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr "Ergebnisse"
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Eingehende Bestellung"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Ausgehender Auftrag"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Lagerartikel produziert von Bauauftrag"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Lagerartikel für Bauauftrag benötigt"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Gültig"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr "Gesamte Stückliste validieren"
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Diese Option muss ausgewählt werden"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr "Diese Option muss ausgewählt werden"
msgid "Category"
msgstr "Kategorie"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr "Verwendet"
@@ -6049,7 +6063,7 @@ msgstr "Verwendet"
msgid "Default Location"
msgstr "Standard-Lagerort"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Gesamtbestand"
@@ -6867,209 +6881,209 @@ msgstr "Herstellerteil mit dieser MPN existiert bereits"
msgid "Supplier part matching this SKU already exists"
msgstr "Lieferantenteil mit dieser SKU existiert bereits"
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr "Externes Lager"
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr "Nicht zugewiesenes Lager"
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr "Alternatives Lager"
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Teil duplizieren"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr "Initiale Daten von anderem Teil kopieren"
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Initialer Lagerbestand"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr "Erstelle Teil mit Ausgangsbestand"
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr "Lieferanteninformationen"
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr "Lieferanteninformationen zu diesem Teil hinzufügen"
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Kategorieparameter kopieren"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr "Vorhandenes Bild"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr "Dateiname eines vorhandenen Teilbildes"
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr "Bilddatei existiert nicht"
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken"
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken"
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken"
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr "Externen Bestand ausschließen"
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr "Lagerartikel an externen Orten ausschließen"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Bericht generieren"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten"
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Teile aktualisieren"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren"
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr "Inventur-Funktionalität ist nicht aktiviert"
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr "Berechneten Wert für Mindestpreis überschreiben"
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr "Mindestpreis Währung"
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr "Berechneten Wert für maximalen Preis überschreiben"
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr "Maximalpreis Währung"
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Aktualisieren"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Preis für dieses Teil aktualisieren"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Konnte nicht von den angegebenen Währungen in {default_currency} umrechnen"
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein"
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein"
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr "Teil auswählen, von dem Stückliste kopiert wird"
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Bestehende Daten entfernen"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen"
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr "Vererbtes einschließen"
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden"
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Ungültige Zeilen überspringen"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr "Ersatzteile kopieren"
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren"
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Bestehende Stückliste löschen"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen"
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr "Keine Teilspalte angegeben"
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr "Mehrere übereinstimmende Teile gefunden"
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Keine passenden Teile gefunden"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr "Teil ist nicht als Komponente angelegt"
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Menge nicht angegeben"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Ungültige Menge"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr "Mindestens eine Stückliste-Position ist erforderlich"
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr "Erlaube alternatives Lager"
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po
index e412c4e2dc..2cd5003d9d 100644
--- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -682,7 +682,7 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη
msgid "Downloading images from remote URL is not enabled"
msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Η έξοδος κατασκευής δεν ταιριάζει με τη
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Πρέπει να παρέχεται μια λίστα με τα αποτελέσματα κατασκευής"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Ολοκληρωμένα Προϊόντα"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po
index 07340db307..076403dbb0 100644
--- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-13 13:21+0000\n"
+"POT-Creation-Date: 2024-04-15 23:58+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -683,7 +683,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1051,13 +1051,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1274,7 +1274,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1461,7 +1461,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1678,7 +1678,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1686,13 +1686,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1861,7 +1861,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3735,7 +3735,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4475,7 +4475,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4485,7 +4485,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4535,8 +4535,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4635,7 +4635,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4768,7 +4768,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4866,11 +4866,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4884,7 +4910,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5064,12 +5090,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5508,12 +5528,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5948,92 +5962,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6041,7 +6055,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6050,7 +6064,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6868,209 +6882,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13608,11 +13622,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po
index 66c4912d5b..af2c02f234 100644
--- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:12\n"
"Last-Translator: \n"
"Language-Team: Spanish, Mexico\n"
"Language: es_MX\n"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po
index 07340db307..076403dbb0 100644
--- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-13 13:21+0000\n"
+"POT-Creation-Date: 2024-04-15 23:58+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -683,7 +683,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1051,13 +1051,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1274,7 +1274,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1461,7 +1461,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1678,7 +1678,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1686,13 +1686,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1861,7 +1861,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3735,7 +3735,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4475,7 +4475,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4485,7 +4485,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4535,8 +4535,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4635,7 +4635,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4768,7 +4768,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4866,11 +4866,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4884,7 +4910,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5064,12 +5090,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5508,12 +5528,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5948,92 +5962,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6041,7 +6055,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6050,7 +6064,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6868,209 +6882,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13608,11 +13622,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po
index 663d043c7c..e70cfd84e7 100644
--- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:12\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -682,7 +682,7 @@ msgstr "آدرس فایل تصویری از راه دور"
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po
index 55d63d9f78..c5b4b60780 100644
--- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
@@ -682,7 +682,7 @@ msgstr "Kuvatiedoston URL"
msgid "Downloading images from remote URL is not enabled"
msgstr "Kuvien lataaminen ei ole käytössä"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr "Hinta yhteensä"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr "Kategoria"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Luo raportti"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po
index 899567d7e3..745649c486 100644
--- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -682,7 +682,7 @@ msgstr "URL du fichier image distant"
msgid "Downloading images from remote URL is not enabled"
msgstr "Le téléchargement des images depuis une URL distante n'est pas activé"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Échec de la vérification du processus d'arrière-plan"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder associé a cette fabrication"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "L'ordre de production de correspond pas à l'ordre de commande"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "La quantité doit être supérieure à zéro"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Une liste d'ordre de production doit être fourni"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr "Stock alloué"
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr "Stock alloué"
msgid "On Order"
msgstr "En Commande"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "En Production"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Sorties de Construction terminées"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Articles reçus"
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr "Supprimer la pièce de fabricant"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Pièces Internes"
@@ -4484,7 +4484,7 @@ msgstr "Aucune information sur le fabricant disponible"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr "Adresses"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Inconnu"
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr "Prix Total"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Statut de la commande"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Aucun bon de commande correspondant n'a été trouvé"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Commande"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé"
msgid "Purchase Order"
msgstr "Commande d’achat"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr "supprimé"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Commande"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Pièce fournisseur"
@@ -5507,12 +5527,6 @@ msgstr "Référence de commande"
msgid "Order Description"
msgstr "Description de la commande"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Statut de la commande"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Prix Minimum"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Prix Maximum"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr "Catégorie"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po
index 56cfdf2b31..3657e883e8 100644
--- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po
index c73cfa209b..f630c4dd92 100644
--- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:12\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Language: hi_IN\n"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po
index 53d4013b3c..adb5592551 100644
--- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -682,7 +682,7 @@ msgstr "A távoli kép URL-je"
msgid "Downloading images from remote URL is not enabled"
msgstr "Képek letöltése távoli URL-ről nem engedélyezett"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Háttér folyamat ellenőrzés sikertelen"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Gyártási kimenet nem egyezik a gyártási utasítással"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Mennyiségnek nullánál többnek kell lennie"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "A gyártási kimenetek listáját meg kell adni"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1678,7 +1678,7 @@ msgid "Allocated Stock"
msgstr "Lefoglalt készlet"
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1686,13 +1686,13 @@ msgstr "Lefoglalt készlet"
msgid "On Order"
msgstr "Rendelve"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "Gyártásban"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1861,7 +1861,7 @@ msgid "Completed Outputs"
msgstr "Befejezett kimenetek"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3735,7 +3735,7 @@ msgstr "{verbose_name} megszakítva"
msgid "A order that is assigned to you was canceled"
msgstr "Egy hozzád rendelt megrendelés megszakítva"
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Készlet érkezett"
@@ -4475,7 +4475,7 @@ msgid "Delete manufacturer part"
msgstr "Gyártói alkatrész törlése"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Belső alkatrész"
@@ -4485,7 +4485,7 @@ msgstr "Nincs elérhető gyártói információ"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4535,8 +4535,8 @@ msgid "Addresses"
msgstr "Címek"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4635,7 +4635,7 @@ msgid "Update Part Availability"
msgstr "Alkatrész elérhetőség frissítése"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4768,7 +4768,7 @@ msgstr ""
msgid "Connected"
msgstr "Csatlakoztatba"
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Ismeretlen"
@@ -4866,11 +4866,37 @@ msgstr "Konfiguráció típusa"
msgid "Total Price"
msgstr "Teljes ár"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Rendelés állapota"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr "Van árazás"
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Nincs egyező beszerzési rendelés"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Rendelés"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4884,7 +4910,7 @@ msgstr "Nincs egyező beszerzési rendelés"
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5064,12 +5090,6 @@ msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval"
msgid "deleted"
msgstr "törölve"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Rendelés"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Beszállítói alkatrész"
@@ -5508,12 +5528,6 @@ msgstr "Rendelés azonosítója"
msgid "Order Description"
msgstr "Rendelés leírása"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Rendelés állapota"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Nincs elérhető beszállítói információ"
@@ -5948,92 +5962,92 @@ msgstr "Szülő IPN"
msgid "Part IPN"
msgstr "Alkatrész IPN"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Minimum ár"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Maximum ár"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr "Szülő"
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Beérkező beszerzési rendelés"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Kimenő vevői rendelés"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Gyártással előállított készlet"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "A gyártási utasításhoz szükséges készlet"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Érvényes"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr "Teljes alkatrészjegyzék jóváhagyása"
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Ennek az opciónak ki kll lennie választva"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6041,7 +6055,7 @@ msgstr "Ennek az opciónak ki kll lennie választva"
msgid "Category"
msgstr "Kategória"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6050,7 +6064,7 @@ msgstr ""
msgid "Default Location"
msgstr "Alapértelmezett hely"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Teljes készlet"
@@ -6868,209 +6882,209 @@ msgstr "Van már ilyen gyártói alkatrész"
msgid "Supplier part matching this SKU already exists"
msgstr "Van már ilyen beszállítói alkatrész"
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr "Nem lefoglalt készlet"
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Alkatrész másolása"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr "Kezdeti adatok másolása egy másik alkatrészről"
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Kezdeti készlet"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr "Kezdeti készlet mennyiség létrehozása"
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr "Beszállító információ"
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr "Kezdeti beszállító adatok hozzáadása"
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Kategória paraméterek másolása"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr "Meglévő kép"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr "A meglévő alkatrész képfájl neve"
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr "A képfájl nem létezik"
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra"
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre"
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre"
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr "Külső készlet nélkül"
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr "Külső helyeken lévő készlet nélkül"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Riport létrehozása"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr "Riport fájl létrehozása a számított leltár adatokkal"
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Alaktrészek frissítése"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal"
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr "Leltár funkció nincs engedélyezve"
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr "Számított minimum ár felülbírálása"
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr "Minimum ár pénzneme"
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr "Számított maximum ár felülbírálása"
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr "Maximum ár pénzneme"
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Frissítés"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Alkatrész árak frissítése"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Megadott pénznem átváltása {default_currency}-re sikertelen"
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár"
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár"
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk"
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Létező adat törlése"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr "Meglévő alkatrészjegyzék tételek törlése a másolás előtt"
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr "Örököltekkel együtt"
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr "Sablon alkatrészektől örökölt alkatrészjegyzék tételek használata"
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Hibás sorok kihagyása"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Engedély a hibás sorok kihagyására"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr "Helyettesítő alkatrészek másolása"
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor"
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Meglévő alkatrészjegyzék törlése"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt"
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr "Nincs megadva alkatrész oszlop"
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr "Több egyező alkatrész is található"
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Nincs egyező alkatrész"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr "Az alkatrész nem lett összetevőként jelölve"
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Mennyiség nincs megadva"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Érvénytelen mennyiség"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr "Legalább egy alkatrészjegyzék tétel szükséges"
@@ -13608,11 +13622,6 @@ msgstr "Van elérhető készlete"
msgid "Allow Variant Stock"
msgstr "Készlet változatok engedélyezése"
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr "Van árazás"
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po
index 6594684c5d..494c26a425 100644
--- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:12\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -682,7 +682,7 @@ msgstr "URL file gambar external"
msgid "Downloading images from remote URL is not enabled"
msgstr "Unduhan gambar dari URL external tidak aktif"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Produksi induk dari produksi ini"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Hasil produksi tidak sesuai dengan order produksi"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Jumlah harus lebih besar daripada nol"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Daftar hasil pesanan harus disediakan"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po
index 59458c3dbd..a6f155d777 100644
--- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -682,7 +682,7 @@ msgstr "URL del file immagine remota"
msgid "Downloading images from remote URL is not enabled"
msgstr "Il download delle immagini da URL remoto non è abilitato"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Controllo in background non riuscito"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Ordine di produzione a cui questa produzione viene assegnata"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "L'output della produzione non corrisponde all'ordine di compilazione"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "La quantità deve essere maggiore di zero"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Deve essere fornito un elenco dei risultati di produzione"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr "Ordinato"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Outputs Completati"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Elemento ricevuto"
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr "Cancella articolo produttore"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Articolo interno"
@@ -4484,7 +4484,7 @@ msgstr "Nessuna informazione sul produttore disponibile"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Sconosciuto"
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr "Prezzo Totale"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Stato dell'ordine"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Nessun ordine di acquisto corrispondente trovato"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Ordine"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr "Nessun ordine di acquisto corrispondente trovato"
msgid "Purchase Order"
msgstr "Ordine D'Acquisto"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr "L'articolo del fornitore deve corrispondere al fornitore"
msgid "deleted"
msgstr "eliminato"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Ordine"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Articolo Fornitore"
@@ -5507,12 +5527,6 @@ msgstr "Riferimento ordine"
msgid "Order Description"
msgstr "Descrizione Dell'Ordine"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Stato dell'ordine"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Nessuna informazione sul fornitore disponibile"
@@ -5947,92 +5961,92 @@ msgstr "IPN Principale"
msgid "Part IPN"
msgstr "IPN Articolo"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Prezzo Minimo"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Prezzo Massimo"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Ordine D'Acquisto In Arrivo"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Ordine di Vendita in Uscita"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Giacenza prodotta dall'Ordine di Costruzione"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Giacenza richiesta per l'Ordine di Produzione"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Valido"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr "Convalida l'intera Fattura dei Materiali"
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Questa opzione deve essere selezionata"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr "Questa opzione deve essere selezionata"
msgid "Category"
msgstr "Categoria"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr "Posizione Predefinita"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Giacenze Totali"
@@ -6867,209 +6881,209 @@ msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già"
msgid "Supplier part matching this SKU already exists"
msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già"
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Duplica articolo"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr "Copia i dati iniziali da un altro Articolo"
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Stock iniziale"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr "Crea Articolo con quantità di scorta iniziale"
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr "Informazioni Fornitore"
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo"
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Copia Parametri Categoria"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Copia i parametri dai modelli della categoria articolo selezionata"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti"
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie"
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie"
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Genera Report"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr "Genera file di report contenente dati di inventario calcolati"
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Aggiorna Articoli"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario"
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr "La funzione Inventario non è abilitata"
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Aggiorna"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Aggiorna i prezzi per questo articolo"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr "Seleziona l'articolo da cui copiare la distinta base"
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Rimuovi Dati Esistenti"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr "Rimuovi elementi distinta base esistenti prima di copiare"
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr "Includi Ereditato"
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr "Includi gli elementi Distinta Base ereditati da prodotti template"
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Salta Righe Non Valide"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Abilita questa opzione per saltare le righe non valide"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr "Copia Articoli sostitutivi"
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base"
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Cancella Distinta Base esistente"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr "Rimuovi elementi distinta base esistenti prima del caricamento"
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr "Nessuna colonna articolo specificata"
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr "Trovati più articoli corrispondenti"
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Nessun articolo corrispondente trovato"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr "L'articolo non è indicato come componente"
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Quantità non fornita"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Quantità non valida"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr "Almeno un elemento della distinta base è richiesto"
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po
index 0968b32d5f..b0cf70e31b 100644
--- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -682,7 +682,7 @@ msgstr "外部画像ファイルのURL"
msgid "Downloading images from remote URL is not enabled"
msgstr "外部URLからの画像ダウンロードは許可されていません"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "バックグラウンドワーカーのチェックに失敗しました"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr "メーカー・パーツを削除"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "内部パーツ"
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr "カテゴリ"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po
index 3877d26135..5c3e7b5648 100644
--- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po
index 6dc647f6c2..c355647cca 100644
--- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:12\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Language: lv_LV\n"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po
index bc72584e87..abce3e876b 100644
--- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -682,7 +682,7 @@ msgstr "URL van extern afbeeldingsbestand"
msgid "Downloading images from remote URL is not enabled"
msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Achtergrondwerker check is gefaald"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Productieorder waar deze productie aan is toegewezen"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Productuitvoer komt niet overeen met de Productieorder"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Hoeveelheid moet groter zijn dan nul"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Een lijst van productieuitvoeren moet worden verstrekt"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr "In bestelling"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Voltooide Uitvoeren"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr "Fabrikant onderdeel verwijderen"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Intern onderdeel"
@@ -4484,7 +4484,7 @@ msgstr "Geen fabrikanten informatie beschikbaar"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr "Totaalprijs"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr "Inkooporder"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr "Leveranciersonderdeel moet overeenkomen met leverancier"
msgid "deleted"
msgstr "verwijderd"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Leveranciersonderdeel"
@@ -5507,12 +5527,6 @@ msgstr "Order Referentie"
msgid "Order Description"
msgstr "Order Beschrijving"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Geen leveranciersinformatie beschikbaar"
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Binnenkomende Inkooporder"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Uitgaande Verkooporder"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Geproduceerde voorraad door Productieorder"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Voorraad vereist voor Productieorder"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr "Standaard locatie"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Totale Voorraad"
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Ongeldige hoeveelheid"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po
index 0766f8ebe7..083d45ef0a 100644
--- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -682,7 +682,7 @@ msgstr "URLtil ekstern bildefil"
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Sjekk av bakgrunnsarbeider mislyktes"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Produksjonsordre som denne produksjonen er tildelt"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Mengden må være større enn null"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "En liste over produksjonsartikler må oppgis"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr "Tildelt lagerbeholdning"
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr "Tildelt lagerbeholdning"
msgid "On Order"
msgstr "I bestilling"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "I produksjon"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Fullførte byggeresultater"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr "{verbose_name} kansellert"
msgid "A order that is assigned to you was canceled"
msgstr "En ordre som er tildelt til deg ble kansellert"
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Artikler mottatt"
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr "Slett produsentdel"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Intern del"
@@ -4484,7 +4484,7 @@ msgstr "Ingen produsentinformasjon tilgjengelig"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr "Adresser"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Ukjent"
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr "Total pris"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Ordrestatus"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Ingen samsvarende innkjøpsordre funnet"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Ordre"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr "Ingen samsvarende innkjøpsordre funnet"
msgid "Purchase Order"
msgstr "Innkjøpsordre"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr "Delens leverandør må samsvare med leverandør"
msgid "deleted"
msgstr "slettet"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Ordre"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Leverandørdel"
@@ -5507,12 +5527,6 @@ msgstr "Ordrereferanse"
msgid "Order Description"
msgstr "Ordrebeskrivelse"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Ordrestatus"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Ingen leverandørinformasjon tilgjengelig"
@@ -5947,92 +5961,92 @@ msgstr "Overodnet IPN"
msgid "Part IPN"
msgstr "Del -IPN"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Minstepris"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Makspris"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Innkommende innkjøpsordre"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Utgående salgsordre"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Lagervarer produsert av en produksjonsordre"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Lagervarer påkrevd for produksjonsordre"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Gyldig"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr "Godkjenn hele Stykklisten"
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Dette alternativet må være valgt"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr "Dette alternativet må være valgt"
msgid "Category"
msgstr "Kategori"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr "Standard plassering"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Total lagerbeholdning"
@@ -6867,209 +6881,209 @@ msgstr "Produsentdel som matcher dette MPN-et, finnes allerede"
msgid "Supplier part matching this SKU already exists"
msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede"
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Dupliser del"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr "Kopier innledende data fra en annen del"
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Innledende lagerbeholdning"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr "Lag en del med innledende lagermengde"
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr "Leverandøropplysninger"
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr "Legg til innledende leverandørinformasjon for denne delen"
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Kopier kategoriparametre"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Kopier parametermaler fra valgt delkategori"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr "Eksisterende bilde"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr "Filnavn for et eksisterende del-bilde"
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr "Bildefilen finnes ikke"
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen"
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier"
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer"
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr "Ekskluder ekstern lagerbeholdning"
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr "Ekskluder lagervarer i eksterne lokasjoner"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Generer rapport"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr "Genererer rapport som inneholder beregnede lagerdata"
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Oppdater deler"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata"
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert"
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr "Overstyr beregnet verdi for minimumspris"
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr "Valuta for minstepris"
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr "Overstyr beregnet verdi for maksimal pris"
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr "Valuta for maksimal pris"
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Oppdater"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Oppdater priser for denne delen"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Kan ikke konvertere fra gitte valutaer til {default_currency}"
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr "Minsteprisen kan ikke være større enn maksimal pris"
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr "Maksimal pris kan ikke være mindre enn minstepris"
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr "Velg del å kopiere BOM fra"
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Fjern eksisterende data"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr "Fjern eksisterende BOM-artikler før kopiering"
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr "Inkluder arvede"
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr "Inkluder BOM-artikler som er arvet fra maldeler"
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Hopp over ugyldige rader"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr "Kopier erstatningsdeler"
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres"
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Nullstill eksisterende BOM"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr "Fjern eksisterende BOM-artikler før opplastning"
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr "Ingen del-kolonne angitt"
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr "Flere samsvarende deler funnet"
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Ingen samsvarende del funnet"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr "Delen er ikke betegnet som en komponent"
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Antall ikke oppgitt"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Ugyldig antall"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr "Minst en BOM-artikkel kreves"
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po
index 14ca440cd8..c4ed686715 100644
--- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -682,7 +682,7 @@ msgstr "Adres URL zdalnego pliku obrazu"
msgid "Downloading images from remote URL is not enabled"
msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Sprawdzenie robotnika w tle nie powiodło się"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Ilość musi być większa niż zero"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr "W Zamówieniu"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "W produkcji"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr "Usuń komponent producenta"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Komponent wewnętrzny"
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr "Cena całkowita"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Status zamówienia"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Nie znaleziono pasującego zlecenia zakupu"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Zamówienie"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr "Nie znaleziono pasującego zlecenia zakupu"
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Zamówienie"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr "Numer zamówienia"
msgid "Order Description"
msgstr "Opis zamówienia"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Status zamówienia"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr "IPN komponentu"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Nadchodzące zlecenie zakupu"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Ważny"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Ta opcja musi być zaznaczona"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr "Ta opcja musi być zaznaczona"
msgid "Category"
msgstr "Kategoria"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr "Domyślna lokalizacja"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Duplikuj część"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Usuń istniejące dane"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Pomiń nieprawidłowe wiersze"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Wyczyść istniejący BOM"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Nie podano ilości"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Nieprawidłowa ilość"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po
index 601a5c244d..3ea7c9c76c 100644
--- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:12\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po
index 44818353b6..7f8b2aaf8e 100644
--- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -682,7 +682,7 @@ msgstr "ССЫЛКА файла изображения на удаленном
msgid "Downloading images from remote URL is not enabled"
msgstr "Загрузка изображений с удаленного URL-адреса не включена"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Проверка фонового работника не удалась"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Заказ на производство, которому принадлежит этот заказ на производство"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Продукция не совпадает с заказом на про
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Количество должно быть больше нуля"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Необходимо представить список выхода деталей"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr "Зарезервированные Запасы"
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr "Зарезервированные Запасы"
msgid "On Order"
msgstr "В заказе"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "В производстве"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Завершенная продукция"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Полученные элементы"
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Внутренняя деталь"
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr "Адреса"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Неизвестно"
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr "Общая стоимость"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Статсу заказа"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr "Имеет цену"
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Заказ"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr "Заказ на закупку"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr "удалено"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Заказ"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Деталь поставщика"
@@ -5507,12 +5527,6 @@ msgstr "Ссылка на заказ"
msgid "Order Description"
msgstr "Описание заказа"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Статсу заказа"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr "Родительский IPN"
msgid "Part IPN"
msgstr "IPN детали"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Минимальная цена"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Максимальная цена"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Остатки произведенные заказом на производство"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Остатки требуемые для заказов на производство"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Корректный"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Необходимо выбрать эту опцию"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr "Необходимо выбрать эту опцию"
msgid "Category"
msgstr "Категория"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr "Место хранения по умолчанию"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Общий запас"
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Дублировать деталь"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Начальный запас"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Копировать параметры категории"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Копировать шаблоны параметров из выбранной категории деталей"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr "Существующее изображение"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr "Исключить складские позиции в внешних местах хранения"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Создать отчет"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Обновить детали"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Обновить"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Подходящая деталь не найдена"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Некорректное количество"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr "Имеет цену"
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po
index eba898f432..9eb1f37272 100644
--- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Language: sk_SK\n"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po
index fbcff2ac02..af37c7457c 100644
--- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -682,7 +682,7 @@ msgstr "Povezava do oddaljene slike"
msgid "Downloading images from remote URL is not enabled"
msgstr "Prenos slik iz oddaljene povezave ni omogočen"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Nadzor dela v ozadju neuspel"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Izgradnja se ne ujema s nalogom izdelave"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po
index b90f1cfc5f..827441f821 100644
--- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:12\n"
"Last-Translator: \n"
"Language-Team: Serbian (Latin)\n"
"Language: sr_CS\n"
@@ -682,7 +682,7 @@ msgstr "URL udaljene slike"
msgid "Downloading images from remote URL is not enabled"
msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Provera pozadinskog radnika nije uspjela"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po
index 0c269716b1..dcffa7cdb7 100644
--- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-17 11:36+0000\n"
+"PO-Revision-Date: 2024-04-18 03:36\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -442,7 +442,7 @@ msgstr "Fil kommentar"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Användare"
@@ -682,7 +682,7 @@ msgstr "URL för fjärrbildsfil"
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Kontroll av bakgrundsarbetare misslyckades"
@@ -1000,7 +1000,7 @@ msgstr "Byggorder"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Byggordrar"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Byggorder till vilken detta bygge är tilldelad"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Byggutgång matchar inte bygg order"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3580,7 +3580,7 @@ msgstr ""
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3588,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3850,7 +3850,7 @@ msgstr ""
#: company/models.py:113
msgid "Company description"
-msgstr ""
+msgstr "Företagsbeskrivning"
#: company/models.py:114
msgid "Description of the company"
@@ -3883,7 +3883,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
-msgstr ""
+msgstr "Kontakt"
#: company/models.py:140
msgid "Point of contact"
@@ -4368,7 +4368,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4391,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4416,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr "Adresser"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4644,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Orderstatus"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5161,7 +5181,7 @@ msgstr ""
#: order/models.py:1697
msgid "Invoice Number"
-msgstr ""
+msgstr "Fakturanummer"
#: order/models.py:1698
msgid "Reference number for associated invoice"
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Orderstatus"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5863,7 +5877,7 @@ msgstr ""
#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222
msgid "Category Name"
-msgstr ""
+msgstr "Kategorinamn"
#: part/admin.py:71 part/admin.py:314
msgid "Default Location ID"
@@ -5927,7 +5941,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Artiklar"
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr "Kategori"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6079,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Generera rapport"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Uppdatera"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7241,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -8202,7 +8216,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8404,11 +8418,11 @@ msgstr ""
#: report/helpers.py:15
msgid "A4"
-msgstr ""
+msgstr "A4"
#: report/helpers.py:16
msgid "A3"
-msgstr ""
+msgstr "A3"
#: report/helpers.py:17
msgid "Legal"
@@ -8574,7 +8588,7 @@ msgstr ""
#: templates/js/translated/sales_order.js:1696
#: templates/js/translated/stock.js:596
msgid "Serial Number"
-msgstr ""
+msgstr "Serienummer"
#: report/templates/report/inventree_slr_report.html:97
msgid "Stock location items"
@@ -8705,7 +8719,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8800,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9432,7 +9446,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:317
msgid "previous page"
-msgstr ""
+msgstr "föregående sida"
#: stock/templates/stock/item_base.html:317
msgid "Navigate to previous serial number"
@@ -9440,7 +9454,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:326
msgid "next page"
-msgstr ""
+msgstr "nästa sida"
#: stock/templates/stock/item_base.html:326
msgid "Navigate to next serial number"
@@ -9469,7 +9483,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -9634,7 +9648,7 @@ msgstr ""
#: templates/403_csrf.html:14
msgid "You have been logged out from InvenTree."
-msgstr ""
+msgstr "Du har blivit utloggad från InvenTree."
#: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29
#: templates/navbar.html:150
@@ -10095,7 +10109,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Radera"
@@ -12414,7 +12428,7 @@ msgstr "Ingen kategori"
#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661
#: templates/js/translated/stock.js:2669
msgid "Display as list"
-msgstr ""
+msgstr "Visa som lista"
#: templates/js/translated/part.js:2547
msgid "Display as grid"
@@ -12430,7 +12444,7 @@ msgstr ""
#: templates/js/translated/part.js:2761
msgid "Load Subcategories"
-msgstr ""
+msgstr "Ladda underkategorier"
#: templates/js/translated/part.js:2777
msgid "Subscribed category"
@@ -13273,7 +13287,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr "Lägg till"
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13916,7 +13925,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14122,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14130,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po
index 03713dfb62..9158dd43a0 100644
--- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:12\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "จำนวนต้องมีค่ามากกว่า 0"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po
index d538436294..c2d14b0649 100644
--- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -682,7 +682,7 @@ msgstr "Uzaktan görüntü dosya URL'si"
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Arka plan çalışanı kontrolü başarısız oldu"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr "Varsayılan Konum"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po
index 35af75d23e..0e3e3969c3 100644
--- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:12\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -682,7 +682,7 @@ msgstr "URL của tệp hình ảnh bên ngoài"
msgid "Downloading images from remote URL is not enabled"
msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Nhân công chạy ngầm kiểm tra thất bại"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Đơn đặt bản dựng với bản dựng này đã được phân bổ"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Số lượng phải lớn hơn 0"
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Danh sách đầu ra bản dựng phải được cung cấp"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr "Bật đơn hàng"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "Đang sản xuất"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Đầu ra hoàn thiện"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr "{verbose_name} đã bị hủy"
msgid "A order that is assigned to you was canceled"
msgstr "Một đơn đặt từng được phân công cho bạn đã bị hủy bỏ"
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Mục đã nhận"
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr "Xóa sản phẩm của nhà sản xuất"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Sản phẩm nội bộ"
@@ -4484,7 +4484,7 @@ msgstr "Chưa có thông tin nhà sản xuất"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr "Địa chỉ"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr "Cập nhật độ sẵn sàng sản phẩm"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Không rõ"
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr "Tổng tiền"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Trạng thái đặt hàng"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Không tìm thấy đơn đặt mua phù hợp"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Đặt hàng"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr "Không tìm thấy đơn đặt mua phù hợp"
msgid "Purchase Order"
msgstr "Đơn hàng"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr "Sản phẩm nhà cung cấp phải phù hợp với nhà cung cung cấ
msgid "deleted"
msgstr "đã bị xóa"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Đặt hàng"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Sản phẩm nhà cung cấp"
@@ -5507,12 +5527,6 @@ msgstr "Tham chiếu đơn đặt"
msgid "Order Description"
msgstr "Mô tả đơn đặt"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Trạng thái đặt hàng"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Chưa có thông tin nhà cung cấp"
@@ -5947,92 +5961,92 @@ msgstr "IPN cha"
msgid "Part IPN"
msgstr "IPN sản phẩm"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Giá thấp nhất"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Giá cao nhất"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Đơn đặt mua vào"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Đơn hàng bán ra"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Kho sản xuất bởi Đơn đặt bản dựng"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Kho được yêu cầu cho đơn đặt bản dựng"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Hợp lệ"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr "Xác minh toàn bộ hóa đơn vật liệu"
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Tùy chọn này phải được chọn"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr "Tùy chọn này phải được chọn"
msgid "Category"
msgstr "Danh mục"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr "Điểm bán mặc định"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Tổng số lượng"
@@ -6867,209 +6881,209 @@ msgstr "Mã số nhà sản xuất khớp với MPN này đã tồn tại"
msgid "Supplier part matching this SKU already exists"
msgstr "Mã số nhà cung cấp khớp với SKU này đã tồn tại"
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Nhân bản sản phẩm"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr "Sao chép dữ liệu ban đầu từ sản phẩm khác"
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Số liệu kho ban đầu"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr "Tạo sản phẩm với số lượng tồn kho ban đầu"
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr "Thông tin nhà cung cấp"
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr "Thêm thông tin nhà cung cấp ban đầu cho sản phẩm này"
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Sao chép thông số nhóm hàng"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Sao chép mẫu tham số từ nhóm sản phẩm được chọn"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr "Ảnh hiện có"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr "Tên tệp của ảnh sản phẩm hiện hữu"
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr "Tệp hình ảnh không tồn tại"
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Hạn chế báo cáo kiểm kê với sản phẩm riêng biệt và sản phẩm biến thể bất kỳ"
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Hạn chế báo cáo kiểm kê với danh mục sản phẩm riêng biệt và danh mục con bất kỳ"
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Hạn chế báo cáo kiểm kê với vị trí kho riêng biệt và vị trí con bất kỳ"
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr "Ngoại trừ kho bên ngoài"
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr "Loại trừ hàng trong kho của vị trí bên ngoài"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Tạo báo cáo"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr "Tạo tệp báo cáo chứa dữ liệu kiểm kê đã tính toán"
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Cập nhật sản phẩm"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr "Cập nhật sản phẩm cụ thể với dữ liệu kiểm kê đã tính"
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr "Chức năng kiểm kê chưa được bật"
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr "Giá trị tính toán ghi đè cho giá tối thiểu"
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr "Tiền tế giá tối thiểu"
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr "Giá trị tính toán ghi đè cho giá tối đa"
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr "Tiền tế giá tối đa"
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Cập nhật"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Cập nhật giá cho sản phẩm này"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Không thể chuyển đổi từ tiền tệ đã cung cấp cho {default_currency}"
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr "Giá tối thiểu không được lớn hơn giá tối đa"
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr "Giá tối đa không được nhỏ hơn giá tối thiểu"
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr "Chọn sản phẩm để sao chép định mức nguyên vật liệu"
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Xóa dữ liệu đã tồn tại"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr "Xóa mục BOM đã tồn tại trước khi sao chép"
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr "Bao gồm thừa hưởng"
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr "Bao gồm mục BOM được thừa hưởng từ sản phẩm mẫu"
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Bỏ qua dòng không hợp lệ"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Bật tùy chọn này để bỏ qua dòng không hợp lệ"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr "Sao chép sản phẩm thay thế"
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Sao chép sản phẩm thay thế khi nhân bản hàng hóa BOM"
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Dọn dẹp BOM đang tồn tại"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr "Xóa mục BOM đang tồn tại trước khi tải lên"
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr "Chưa chỉ ra cột sản phẩm"
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr "Tìm thấy nhiều sản phẩm phù hợp"
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Không tìm thấy sản phẩm nào"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr "Sản phẩm không được chỉ định như là một thành phần"
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Chưa cung cấp số lượng"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Số lượng không hợp lệ"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr "Buộc phải nhập ít nhất một mục BOM"
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po
index 36f98120da..b904c3e5e1 100644
--- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-15 15:06+0000\n"
+"PO-Revision-Date: 2024-04-16 03:11\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Language: zh_TW\n"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3734,7 +3734,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4474,7 +4474,7 @@ msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4484,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,8 +4534,8 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4634,7 +4634,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4767,7 +4767,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4865,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4909,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5089,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5527,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5947,92 +5961,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6054,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6063,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6867,209 +6881,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -13607,11 +13621,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
index ee97b3213c..98d5151a06 100644
--- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-13 13:21+0000\n"
+"POT-Creation-Date: 2024-04-15 23:58+0000\n"
"PO-Revision-Date: 2023-02-28 22:38\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -707,7 +707,7 @@ msgstr "远程图像文件的 URL"
msgid "Downloading images from remote URL is not enabled"
msgstr "未启用从远程 URL下载图像"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "后台工作人员检查失败"
@@ -1097,13 +1097,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "此次生产匹配的订单"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1044 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1324,7 +1324,7 @@ msgstr "生产产出与订单不匹配"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "数量必须大于0"
@@ -1519,7 +1519,7 @@ msgid "A list of build outputs must be provided"
msgstr "必须提供生产产出列表"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1746,7 +1746,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1754,13 +1754,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "正在生产"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1931,7 +1931,7 @@ msgid "Completed Outputs"
msgstr "已完成输出"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -3884,7 +3884,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4676,7 +4676,7 @@ msgid "Delete manufacturer part"
msgstr "删除生产商商品"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "内部商品"
@@ -4686,7 +4686,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4740,8 +4740,8 @@ msgid "Addresses"
msgstr "地址"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
#: templates/js/translated/company.js:1590
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
@@ -4840,7 +4840,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4983,7 +4983,7 @@ msgstr "要生产的项目数量"
msgid "Connected"
msgstr "连接错误"
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -5095,11 +5095,41 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+#, fuzzy
+#| msgid "Order Code"
+msgid "Order Complete"
+msgstr "订单编码"
+
+#: order/api.py:458
+#, fuzzy
+#| msgid "Pending"
+msgid "Order Pending"
+msgstr "待定"
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -5113,7 +5143,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5313,12 +5343,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "供应商商品"
@@ -5779,12 +5803,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -6239,100 +6257,100 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
#, fuzzy
#| msgid "parent"
msgid "Parent"
msgstr "上级项"
-#: part/api.py:181
+#: part/api.py:180
#, fuzzy
#| msgid "Create new part category"
msgid "Filter by parent category"
msgstr "新建商品类别"
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
#, fuzzy
#| msgid "Exclude stock items from this selected location"
msgid "Exclude sub-categories under the specified category"
msgstr "从该选定的仓储地点排除库存项"
-#: part/api.py:460
+#: part/api.py:461
#, fuzzy
#| msgid "Units"
msgid "Has Results"
msgstr "单位"
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6340,7 +6358,7 @@ msgstr ""
msgid "Category"
msgstr "类别"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6349,7 +6367,7 @@ msgstr ""
msgid "Default Location"
msgstr "默认仓储地点"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -7186,225 +7204,225 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
#, fuzzy
#| msgid "External Link"
msgid "External Stock"
msgstr "外部链接"
-#: part/serializers.py:823
+#: part/serializers.py:825
#, fuzzy
#| msgid "Unallocate Stock"
msgid "Unallocated Stock"
msgstr "未分配库存"
-#: part/serializers.py:826
+#: part/serializers.py:828
#, fuzzy
#| msgid "Part Stock"
msgid "Variant Stock"
msgstr "商品库存"
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "复制部件"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "复制类别参数"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
#, fuzzy
#| msgid "Existing barcode found"
msgid "Existing Image"
msgstr "发现现有条码"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
#, fuzzy
#| msgid "Part image not found"
msgid "Image file does not exist"
msgstr "未找到商品图像"
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
#, fuzzy
#| msgid "Exclude stock items from this selected location"
msgid "Exclude stock items in external locations"
msgstr "从该选定的仓储地点排除库存项"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
#, fuzzy
#| msgid "Uses default currency"
msgid "Minimum price currency"
msgstr "使用默认货币"
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
#, fuzzy
#| msgid "Uses default currency"
msgid "Maximum price currency"
msgstr "使用默认货币"
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -14389,11 +14407,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
diff --git a/src/backend/InvenTree/templates/js/dynamic/nav.js b/src/backend/InvenTree/templates/js/dynamic/nav.js
index 8ce792648b..f207bf110d 100644
--- a/src/backend/InvenTree/templates/js/dynamic/nav.js
+++ b/src/backend/InvenTree/templates/js/dynamic/nav.js
@@ -21,12 +21,15 @@ function activatePanel(label, panel_name, options={}) {
$('.panel-visible').hide();
$('.panel-visible').removeClass('panel-visible');
+ // Remove illegal chars
+ panel_name = panel_name.replace('/', '');
+
// Find the target panel
var panel = `#panel-${panel_name}`;
var select = `#select-${panel_name}`;
// Check that the selected panel (and select) exist
- if ($(panel).length && $(select).length) {
+ if ($(panel).exists() && $(panel).length && $(select).length) {
// Yep, both are displayed
} else {
// Either the select or the panel are not displayed!
diff --git a/src/backend/InvenTree/templates/js/translated/company.js b/src/backend/InvenTree/templates/js/translated/company.js
index 424f5a27fa..a008da2041 100644
--- a/src/backend/InvenTree/templates/js/translated/company.js
+++ b/src/backend/InvenTree/templates/js/translated/company.js
@@ -426,7 +426,8 @@ function companyFormFields() {
},
is_supplier: {},
is_manufacturer: {},
- is_customer: {}
+ is_customer: {},
+ active: {},
};
}
@@ -517,6 +518,15 @@ function loadCompanyTable(table, url, options={}) {
field: 'description',
title: '{% trans "Description" %}',
},
+ {
+ field: 'active',
+ title: '{% trans "Active" %}',
+ sortable: true,
+ switchable: true,
+ formatter: function(value) {
+ return yesNoLabel(value);
+ }
+ },
{
field: 'website',
title: '{% trans "Website" %}',
diff --git a/src/backend/InvenTree/templates/js/translated/purchase_order.js b/src/backend/InvenTree/templates/js/translated/purchase_order.js
index 47379dc2a3..c829fed140 100644
--- a/src/backend/InvenTree/templates/js/translated/purchase_order.js
+++ b/src/backend/InvenTree/templates/js/translated/purchase_order.js
@@ -1755,7 +1755,7 @@ function loadPurchaseOrderTable(table, options) {
sortable: true,
formatter: function(value, row) {
return formatCurrency(value, {
- currency: row.order_currency,
+ currency: row.order_currency ?? row.supplier_detail?.currency,
});
},
},
diff --git a/src/backend/InvenTree/templates/js/translated/return_order.js b/src/backend/InvenTree/templates/js/translated/return_order.js
index b699bd8422..5163b9696d 100644
--- a/src/backend/InvenTree/templates/js/translated/return_order.js
+++ b/src/backend/InvenTree/templates/js/translated/return_order.js
@@ -300,7 +300,7 @@ function loadReturnOrderTable(table, options={}) {
return '{% trans "Invalid Customer" %}';
}
- return imageHoverIcon(row.customer_detail.image) + renderLink(row.customer_detail.name, `/company/${row.customer}/sales-orders/`);
+ return imageHoverIcon(row.customer_detail.image) + renderLink(row.customer_detail.name, `/company/${row.customer}/?display=sales-orders/`);
}
},
{
@@ -384,7 +384,7 @@ function loadReturnOrderTable(table, options={}) {
visible: false,
formatter: function(value, row) {
return formatCurrency(value, {
- currency: row.order_currency
+ currency: row.order_currency ?? row.customer_detail?.currency,
});
}
}
diff --git a/src/backend/InvenTree/templates/js/translated/sales_order.js b/src/backend/InvenTree/templates/js/translated/sales_order.js
index 7f8ece3137..53085cf180 100644
--- a/src/backend/InvenTree/templates/js/translated/sales_order.js
+++ b/src/backend/InvenTree/templates/js/translated/sales_order.js
@@ -788,7 +788,7 @@ function loadSalesOrderTable(table, options) {
return '{% trans "Invalid Customer" %}';
}
- return imageHoverIcon(row.customer_detail.image) + renderLink(row.customer_detail.name, `/company/${row.customer}/sales-orders/`);
+ return imageHoverIcon(row.customer_detail.image) + renderLink(row.customer_detail.name, `/company/${row.customer}/?display=sales-orders/`);
}
},
{
@@ -857,7 +857,7 @@ function loadSalesOrderTable(table, options) {
sortable: true,
formatter: function(value, row) {
return formatCurrency(value, {
- currency: row.order_currency,
+ currency: row.order_currency ?? row.customer_detail?.currency,
});
}
}
diff --git a/src/backend/InvenTree/templates/js/translated/table_filters.js b/src/backend/InvenTree/templates/js/translated/table_filters.js
index 91786c3e59..0c10b06f33 100644
--- a/src/backend/InvenTree/templates/js/translated/table_filters.js
+++ b/src/backend/InvenTree/templates/js/translated/table_filters.js
@@ -791,6 +791,10 @@ function getContactFilters() {
// Return a dictionary of filters for the "company" table
function getCompanyFilters() {
return {
+ active: {
+ type: 'bool',
+ title: '{% trans "Active" %}'
+ },
is_manufacturer: {
type: 'bool',
title: '{% trans "Manufacturer" %}',
diff --git a/src/backend/eslint.config.js b/src/backend/eslint.config.js
new file mode 100644
index 0000000000..2d64295f67
--- /dev/null
+++ b/src/backend/eslint.config.js
@@ -0,0 +1,38 @@
+// eslint.config.js
+import js from "@eslint/js";
+import globals from "globals";
+
+export default [
+ js.configs.recommended,
+ {
+ languageOptions: {
+ ecmaVersion: 12,
+ sourceType: "module",
+ globals: {
+ ...globals.browser,
+ ...globals.es2021,
+ ...globals.jquery,
+ }
+ },
+ rules: {
+ "no-var": "off",
+ "guard-for-in": "off",
+ "no-trailing-spaces": "off",
+ "camelcase": "off",
+ "padded-blocks": "off",
+ "prefer-const": "off",
+ "max-len": "off",
+ "require-jsdoc": "off",
+ "valid-jsdoc": "off",
+ "no-multiple-empty-lines": "off",
+ "comma-dangle": "off",
+ "no-unused-vars": "off",
+ "no-useless-escape": "off",
+ "prefer-spread": "off",
+ "indent": ["error", 4]
+ },
+ linterOptions: {
+ reportUnusedDisableDirectives: "off"
+ }
+ }
+];
diff --git a/src/backend/package-lock.json b/src/backend/package-lock.json
index 841b0e4a20..8a31b4a5fe 100644
--- a/src/backend/package-lock.json
+++ b/src/backend/package-lock.json
@@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
- "eslint": "^8.57.0",
+ "eslint": "^9.0.0",
"eslint-config-google": "^0.14.0"
}
},
@@ -31,6 +31,17 @@
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
"node_modules/@eslint-community/regexpp": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
@@ -40,14 +51,14 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
- "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.0.2.tgz",
+ "integrity": "sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==",
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
@@ -55,26 +66,26 @@
"strip-json-comments": "^3.1.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/@eslint/js": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
- "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.0.0.tgz",
+ "integrity": "sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.11.14",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
- "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "version": "0.12.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.12.3.tgz",
+ "integrity": "sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.2",
+ "@humanwhocodes/object-schema": "^2.0.3",
"debug": "^4.3.1",
"minimatch": "^3.0.5"
},
@@ -131,11 +142,6 @@
"node": ">= 8"
}
},
- "node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ=="
- },
"node_modules/acorn": {
"version": "8.11.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
@@ -289,17 +295,6 @@
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
},
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -312,40 +307,36 @@
}
},
"node_modules/eslint": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
- "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.0.0.tgz",
+ "integrity": "sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.0",
- "@humanwhocodes/config-array": "^0.11.14",
+ "@eslint/eslintrc": "^3.0.2",
+ "@eslint/js": "9.0.0",
+ "@humanwhocodes/config-array": "^0.12.3",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
- "doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.2",
- "eslint-visitor-keys": "^3.4.3",
- "espree": "^9.6.1",
+ "eslint-scope": "^8.0.1",
+ "eslint-visitor-keys": "^4.0.0",
+ "espree": "^10.0.1",
"esquery": "^1.4.2",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
+ "file-entry-cache": "^8.0.0",
"find-up": "^5.0.0",
"glob-parent": "^6.0.2",
- "globals": "^13.19.0",
"graphemer": "^1.4.0",
"ignore": "^5.2.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
"is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
"lodash.merge": "^4.6.2",
@@ -359,7 +350,7 @@
"eslint": "bin/eslint.js"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -377,42 +368,42 @@
}
},
"node_modules/eslint-scope": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
- "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz",
+ "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==",
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+ "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/espree": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
- "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz",
+ "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==",
"dependencies": {
- "acorn": "^8.9.0",
+ "acorn": "^8.11.3",
"acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
+ "eslint-visitor-keys": "^4.0.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -480,14 +471,14 @@
}
},
"node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
"dependencies": {
- "flat-cache": "^3.0.4"
+ "flat-cache": "^4.0.0"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=16.0.0"
}
},
"node_modules/find-up": {
@@ -506,16 +497,15 @@
}
},
"node_modules/flat-cache": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
- "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
"dependencies": {
"flatted": "^3.2.9",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
+ "keyv": "^4.5.4"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=16"
}
},
"node_modules/flatted": {
@@ -523,30 +513,6 @@
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
"integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw=="
},
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
@@ -559,14 +525,11 @@
}
},
"node_modules/globals": {
- "version": "13.24.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
- "dependencies": {
- "type-fest": "^0.20.2"
- },
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
"engines": {
- "node": ">=8"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -616,20 +579,6 @@
"node": ">=0.8.19"
}
},
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -748,14 +697,6 @@
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
},
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dependencies": {
- "wrappy": "1"
- }
- },
"node_modules/optionator": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
@@ -819,14 +760,6 @@
"node": ">=8"
}
},
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -887,20 +820,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -991,17 +910,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -1024,11 +932,6 @@
"node": ">= 8"
}
},
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/src/backend/package.json b/src/backend/package.json
index d4d6fa34e5..d1d89b7339 100644
--- a/src/backend/package.json
+++ b/src/backend/package.json
@@ -1,6 +1,7 @@
{
"dependencies": {
- "eslint": "^8.57.0",
+ "eslint": "^9.0.0",
"eslint-config-google": "^0.14.0"
- }
+ },
+ "type": "module"
}
diff --git a/src/frontend/.eslintrc.cjs b/src/frontend/eslint.config.cjs
similarity index 100%
rename from src/frontend/.eslintrc.cjs
rename to src/frontend/eslint.config.cjs
diff --git a/src/frontend/src/components/forms/ApiForm.tsx b/src/frontend/src/components/forms/ApiForm.tsx
index 71406f9c02..796b14afbb 100644
--- a/src/frontend/src/components/forms/ApiForm.tsx
+++ b/src/frontend/src/components/forms/ApiForm.tsx
@@ -109,6 +109,8 @@ export function OptionsApiForm({
const optionsQuery = useQuery({
enabled: true,
+ refetchOnMount: false,
+ refetchOnWindowFocus: false,
queryKey: [
'form-options-data',
id,
@@ -183,21 +185,26 @@ export function ApiForm({
props: ApiFormProps;
optionsLoading: boolean;
}) {
+ const fields: ApiFormFieldSet = useMemo(() => {
+ return props.fields ?? {};
+ }, [props.fields]);
+
const defaultValues: FieldValues = useMemo(() => {
- let defaultValuesMap = mapFields(props.fields ?? {}, (_path, field) => {
+ let defaultValuesMap = mapFields(fields ?? {}, (_path, field) => {
return field.value ?? field.default ?? undefined;
});
- // If the user has specified initial data, use that instead
+ // If the user has specified initial data, that overrides default values
+ // But, *only* for the fields we have specified
if (props.initialData) {
- defaultValuesMap = {
- ...defaultValuesMap,
- ...props.initialData
- };
+ Object.keys(props.initialData).map((key) => {
+ if (key in defaultValuesMap) {
+ defaultValuesMap[key] =
+ props?.initialData?.[key] ?? defaultValuesMap[key];
+ }
+ });
}
- // Update the form values, but only for the fields specified for this form
-
return defaultValuesMap;
}, [props.fields, props.initialData]);
@@ -262,14 +269,22 @@ export function ApiForm({
};
// Process API response
- const initialData: any = processFields(
- props.fields ?? {},
- response.data
- );
+ const initialData: any = processFields(fields, response.data);
// Update form values, but only for the fields specified for this form
form.reset(initialData);
+ // Update the field references, too
+ Object.keys(fields).forEach((fieldName) => {
+ if (fieldName in initialData) {
+ let field = fields[fieldName] ?? {};
+ fields[fieldName] = {
+ ...field,
+ value: initialData[fieldName]
+ };
+ }
+ });
+
return response;
} catch (error) {
console.error('Error fetching initial data:', error);
@@ -303,12 +318,12 @@ export function ApiForm({
initialDataQuery.isFetching ||
optionsLoading ||
isSubmitting ||
- !props.fields,
+ !fields,
[
isFormLoading,
initialDataQuery.isFetching,
isSubmitting,
- props.fields,
+ fields,
optionsLoading
]
);
@@ -321,7 +336,7 @@ export function ApiForm({
if (!focusField) {
// If a focus field is not specified, then focus on the first available field
- Object.entries(props.fields ?? {}).forEach(([fieldName, field]) => {
+ Object.entries(fields).forEach(([fieldName, field]) => {
if (focusField || field.read_only || field.disabled || field.hidden) {
return;
}
@@ -336,7 +351,7 @@ export function ApiForm({
form.setFocus(focusField);
setInitialFocus(focusField);
- }, [props.focus, props.fields, form.setFocus, isLoading, initialFocus]);
+ }, [props.focus, fields, form.setFocus, isLoading, initialFocus]);
const submitForm: SubmitHandler = async (data) => {
setNonFieldErrors([]);
@@ -344,7 +359,7 @@ export function ApiForm({
let method = props.method?.toLowerCase() ?? 'get';
let hasFiles = false;
- mapFields(props.fields ?? {}, (_path, field) => {
+ mapFields(fields, (_path, field) => {
if (field.field_type === 'file upload') {
hasFiles = true;
}
@@ -476,16 +491,14 @@ export function ApiForm({
{!optionsLoading &&
- Object.entries(props.fields ?? {}).map(
- ([fieldName, field]) => (
-
- )
- )}
+ Object.entries(fields).map(([fieldName, field]) => (
+
+ ))}
{props.postFormContent}
diff --git a/src/frontend/src/components/forms/fields/ApiFormField.tsx b/src/frontend/src/components/forms/fields/ApiFormField.tsx
index f4b1e2eff7..5c77ba8ead 100644
--- a/src/frontend/src/components/forms/fields/ApiFormField.tsx
+++ b/src/frontend/src/components/forms/fields/ApiFormField.tsx
@@ -14,6 +14,7 @@ import { ReactNode, useCallback, useEffect, useMemo } from 'react';
import { Control, FieldValues, useController } from 'react-hook-form';
import { ModelType } from '../../../enums/ModelType';
+import { isTrue } from '../../../functions/conversion';
import { ChoiceField } from './ChoiceField';
import DateField from './DateField';
import { NestedObjectField } from './NestedObjectField';
@@ -209,7 +210,7 @@ export function ApiFormField({
id={fieldId}
radius="lg"
size="sm"
- checked={value ?? false}
+ checked={isTrue(value)}
error={error?.message}
onChange={(event) => onChange(event.currentTarget.checked)}
/>
diff --git a/src/frontend/src/components/render/StatusRenderer.tsx b/src/frontend/src/components/render/StatusRenderer.tsx
index c737c7e905..78fb3f9414 100644
--- a/src/frontend/src/components/render/StatusRenderer.tsx
+++ b/src/frontend/src/components/render/StatusRenderer.tsx
@@ -74,13 +74,7 @@ export const StatusRenderer = ({
}) => {
const statusCodeList = useGlobalStatusState.getState().status;
- if (status === undefined) {
- console.log('StatusRenderer: status is undefined');
- return null;
- }
-
- if (statusCodeList === undefined) {
- console.log('StatusRenderer: statusCodeList is undefined');
+ if (status === undefined || statusCodeList === undefined) {
return null;
}
diff --git a/src/frontend/src/forms/BuildForms.tsx b/src/frontend/src/forms/BuildForms.tsx
index b89bed64fd..dd4523a6bc 100644
--- a/src/frontend/src/forms/BuildForms.tsx
+++ b/src/frontend/src/forms/BuildForms.tsx
@@ -7,57 +7,64 @@ import {
IconUser,
IconUsersGroup
} from '@tabler/icons-react';
+import { useMemo } from 'react';
import { ApiFormFieldSet } from '../components/forms/fields/ApiFormField';
/**
* Field set for BuildOrder forms
*/
-export function buildOrderFields(): ApiFormFieldSet {
- return {
- reference: {},
- part: {
- filters: {
- assembly: true,
- virtual: false
+export function useBuildOrderFields({
+ create
+}: {
+ create: boolean;
+}): ApiFormFieldSet {
+ return useMemo(() => {
+ return {
+ reference: {},
+ part: {
+ filters: {
+ assembly: true,
+ virtual: false
+ }
+ },
+ title: {},
+ quantity: {},
+ project_code: {
+ icon:
+ },
+ priority: {},
+ parent: {
+ icon: ,
+ filters: {
+ part_detail: true
+ }
+ },
+ sales_order: {
+ icon:
+ },
+ batch: {},
+ target_date: {
+ icon:
+ },
+ take_from: {},
+ destination: {
+ filters: {
+ structural: false
+ }
+ },
+ link: {
+ icon:
+ },
+ issued_by: {
+ icon:
+ },
+ responsible: {
+ icon: ,
+ filters: {
+ is_active: true
+ }
}
- },
- title: {},
- quantity: {},
- project_code: {
- icon:
- },
- priority: {},
- parent: {
- icon: ,
- filters: {
- part_detail: true
- }
- },
- sales_order: {
- icon:
- },
- batch: {},
- target_date: {
- icon:
- },
- take_from: {},
- destination: {
- filters: {
- structural: false
- }
- },
- link: {
- icon:
- },
- issued_by: {
- icon:
- },
- responsible: {
- icon: ,
- filters: {
- is_active: true
- }
- }
- };
+ };
+ }, [create]);
}
diff --git a/src/frontend/src/forms/CompanyForms.tsx b/src/frontend/src/forms/CompanyForms.tsx
index 08212b3773..50b5d77190 100644
--- a/src/frontend/src/forms/CompanyForms.tsx
+++ b/src/frontend/src/forms/CompanyForms.tsx
@@ -10,34 +10,21 @@ import {
} from '@tabler/icons-react';
import { useEffect, useMemo, useState } from 'react';
-import { ApiFormFieldSet } from '../components/forms/fields/ApiFormField';
+import {
+ ApiFormAdjustFilterType,
+ ApiFormFieldSet
+} from '../components/forms/fields/ApiFormField';
/**
* Field set for SupplierPart instance
*/
-export function useSupplierPartFields({
- partPk,
- supplierPk,
- hidePart
-}: {
- partPk?: number;
- supplierPk?: number;
- hidePart?: boolean;
-}) {
- const [part, setPart] = useState(partPk);
-
- useEffect(() => {
- setPart(partPk);
- }, [partPk]);
-
+export function useSupplierPartFields() {
return useMemo(() => {
const fields: ApiFormFieldSet = {
part: {
- hidden: hidePart,
- value: part,
- onValueChange: setPart,
filters: {
- purchaseable: true
+ purchaseable: true,
+ active: true
}
},
manufacturer_part: {
@@ -45,15 +32,18 @@ export function useSupplierPartFields({
part_detail: true,
manufacturer_detail: true
},
- adjustFilters: (filters: any) => {
- if (part) {
- filters.part = part;
- }
-
- return filters;
+ adjustFilters: (adjust: ApiFormAdjustFilterType) => {
+ return {
+ ...adjust.filters,
+ part: adjust.data.part
+ };
+ }
+ },
+ supplier: {
+ filters: {
+ active: true
}
},
- supplier: {},
SKU: {
icon:
},
@@ -67,15 +57,12 @@ export function useSupplierPartFields({
pack_quantity: {},
packaging: {
icon:
- }
+ },
+ active: {}
};
- if (supplierPk !== undefined) {
- fields.supplier.value = supplierPk;
- }
-
return fields;
- }, [part]);
+ }, []);
}
export function useManufacturerPartFields() {
@@ -125,6 +112,7 @@ export function companyFields(): ApiFormFieldSet {
},
is_supplier: {},
is_manufacturer: {},
- is_customer: {}
+ is_customer: {},
+ active: {}
};
}
diff --git a/src/frontend/src/forms/PurchaseOrderForms.tsx b/src/frontend/src/forms/PurchaseOrderForms.tsx
index b89fe2af23..930e729571 100644
--- a/src/frontend/src/forms/PurchaseOrderForms.tsx
+++ b/src/frontend/src/forms/PurchaseOrderForms.tsx
@@ -37,8 +37,12 @@ import { apiUrl } from '../states/ApiState';
* Construct a set of fields for creating / editing a PurchaseOrderLineItem instance
*/
export function usePurchaseOrderLineItemFields({
+ supplierId,
+ orderId,
create
}: {
+ supplierId?: number;
+ orderId?: number;
create?: boolean;
}) {
const [purchasePrice, setPurchasePrice] = useState('');
@@ -60,16 +64,20 @@ export function usePurchaseOrderLineItemFields({
filters: {
supplier_detail: true
},
- hidden: true
+ disabled: true
},
part: {
filters: {
part_detail: true,
- supplier_detail: true
+ supplier_detail: true,
+ active: true,
+ part_active: true
},
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- // TODO: Adjust part based on the supplier associated with the supplier
- return value.filters;
+ adjustFilters: (adjust: ApiFormAdjustFilterType) => {
+ return {
+ ...adjust.filters,
+ supplier: supplierId
+ };
}
},
quantity: {},
@@ -105,7 +113,7 @@ export function usePurchaseOrderLineItemFields({
}
return fields;
- }, [create, autoPricing, purchasePrice]);
+ }, [create, orderId, supplierId, autoPricing, purchasePrice]);
return fields;
}
@@ -113,50 +121,53 @@ export function usePurchaseOrderLineItemFields({
/**
* Construct a set of fields for creating / editing a PurchaseOrder instance
*/
-export function purchaseOrderFields(): ApiFormFieldSet {
- return {
- reference: {
- icon:
- },
- description: {},
- supplier: {
- filters: {
- is_supplier: true
+export function usePurchaseOrderFields(): ApiFormFieldSet {
+ return useMemo(() => {
+ return {
+ reference: {
+ icon:
+ },
+ description: {},
+ supplier: {
+ filters: {
+ is_supplier: true,
+ active: true
+ }
+ },
+ supplier_reference: {},
+ project_code: {
+ icon:
+ },
+ order_currency: {
+ icon:
+ },
+ target_date: {
+ icon:
+ },
+ link: {},
+ contact: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.supplier
+ };
+ }
+ },
+ address: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.supplier
+ };
+ }
+ },
+ responsible: {
+ icon:
}
- },
- supplier_reference: {},
- project_code: {
- icon:
- },
- order_currency: {
- icon:
- },
- target_date: {
- icon:
- },
- link: {},
- contact: {
- icon: ,
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- return {
- ...value.filters,
- company: value.data.supplier
- };
- }
- },
- address: {
- icon: ,
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- return {
- ...value.filters,
- company: value.data.supplier
- };
- }
- },
- responsible: {
- icon:
- }
- };
+ };
+ }, []);
}
/**
diff --git a/src/frontend/src/forms/SalesOrderForms.tsx b/src/frontend/src/forms/SalesOrderForms.tsx
index fcaa25f94f..9c97f13201 100644
--- a/src/frontend/src/forms/SalesOrderForms.tsx
+++ b/src/frontend/src/forms/SalesOrderForms.tsx
@@ -1,44 +1,89 @@
import { IconAddressBook, IconUser, IconUsers } from '@tabler/icons-react';
+import { useMemo } from 'react';
import {
ApiFormAdjustFilterType,
ApiFormFieldSet
} from '../components/forms/fields/ApiFormField';
-export function salesOrderFields(): ApiFormFieldSet {
- return {
- reference: {},
- description: {},
- customer: {
- filters: {
- is_customer: true
+export function useSalesOrderFields(): ApiFormFieldSet {
+ return useMemo(() => {
+ return {
+ reference: {},
+ description: {},
+ customer: {
+ filters: {
+ is_customer: true,
+ active: true
+ }
+ },
+ customer_reference: {},
+ project_code: {},
+ order_currency: {},
+ target_date: {},
+ link: {},
+ contact: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.customer
+ };
+ }
+ },
+ address: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.customer
+ };
+ }
+ },
+ responsible: {
+ icon:
}
- },
- customer_reference: {},
- project_code: {},
- order_currency: {},
- target_date: {},
- link: {},
- contact: {
- icon: ,
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- return {
- ...value.filters,
- company: value.data.customer
- };
- }
- },
- address: {
- icon: ,
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- return {
- ...value.filters,
- company: value.data.customer
- };
- }
- },
- responsible: {
- icon:
- }
- };
+ };
+ }, []);
+}
+
+export function useReturnOrderFields(): ApiFormFieldSet {
+ return useMemo(() => {
+ return {
+ reference: {},
+ description: {},
+ customer: {
+ filters: {
+ is_customer: true,
+ active: true
+ }
+ },
+ customer_reference: {},
+ project_code: {},
+ order_currency: {},
+ target_date: {},
+ link: {},
+ contact: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.customer
+ };
+ }
+ },
+ address: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.customer
+ };
+ }
+ },
+ responsible: {
+ icon:
+ }
+ };
+ }, []);
}
diff --git a/src/frontend/src/forms/StockForms.tsx b/src/frontend/src/forms/StockForms.tsx
index 9325d97b0c..fc023688af 100644
--- a/src/frontend/src/forms/StockForms.tsx
+++ b/src/frontend/src/forms/StockForms.tsx
@@ -39,7 +39,7 @@ export function useStockFields({
const fields: ApiFormFieldSet = {
part: {
value: part,
- hidden: !create,
+ disabled: !create,
onValueChange: (change) => {
setPart(change);
// TODO: implement remaining functionality from old stock.py
@@ -57,12 +57,12 @@ export function useStockFields({
supplier_detail: true,
...(part ? { part } : {})
},
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- if (value.data.part) {
- value.filters['part'] = value.data.part;
+ adjustFilters: (adjust: ApiFormAdjustFilterType) => {
+ if (adjust.data.part) {
+ adjust.filters['part'] = adjust.data.part;
}
- return value.filters;
+ return adjust.filters;
}
},
use_pack_size: {
@@ -137,29 +137,6 @@ export function useCreateStockItem() {
});
}
-/**
- * Launch a form to edit an existing StockItem instance
- * @param item : primary key of the StockItem to edit
- */
-export function useEditStockItem({
- item_id,
- callback
-}: {
- item_id: number;
- callback?: () => void;
-}) {
- const fields = useStockFields({ create: false });
-
- return useEditApiFormModal({
- url: ApiEndpoints.stock_item_list,
- pk: item_id,
- fields: fields,
- title: t`Edit Stock Item`,
- successMessage: t`Stock item updated`,
- onFormSuccess: callback
- });
-}
-
function StockItemDefaultMove({
stockItem,
value
diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po
index 55f9f9680f..758bbf5751 100644
--- a/src/frontend/src/locales/bg/messages.po
+++ b/src/frontend/src/locales/bg/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: bg\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po
index fdcfd0808d..d1c7c7a5de 100644
--- a/src/frontend/src/locales/cs/messages.po
+++ b/src/frontend/src/locales/cs/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: cs\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -82,7 +82,7 @@ msgstr "Odstranit"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Zrušit"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Vymazat"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr "Část je virtuální (nikoli fyzická část)"
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuální"
@@ -246,32 +246,32 @@ msgstr "náhled"
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Chyba formuláře"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Dokončeno"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr "Došlo k chybám formuláře"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Aktualizovat"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "Odstranit"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Přihlášení úspěšné"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Vítejte zpět!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Přihlášení se nezdařilo"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Uživatelské jméno"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Vaše uživatelské jméno"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Heslo"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Vaše heslo"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Obnovit heslo"
@@ -362,73 +365,77 @@ msgstr "Obnovit heslo"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "E-mail"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Zašleme vám přihlašovací odkaz - pokud jste registrováni"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Přihlásit se"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Odeslat e-mail"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Registrace proběhla úspěšně"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Potvrďte, prosím, svou e-mailovou adresu pro dokončení registrace"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr "Opakujte heslo"
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Zadejte heslo znova"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr "Registrovat"
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr "Nebo použijte SSO"
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Nemáte účet?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr "Zpět na přihlášení"
@@ -440,7 +447,7 @@ msgstr "Server"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "Název: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Chyba"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Hledat"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Načítání"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Nebyly nalezeny žádné výsledky"
@@ -535,7 +543,7 @@ msgstr "Nejsou žádné záznamy"
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Náhled"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "Zjistit více"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Neznámá chyba"
@@ -871,12 +879,12 @@ msgstr "Verze"
msgid "Server Version"
msgstr "Verze serveru"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr "Hledat..."
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr "Nic nenalezeno..."
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr "Díl"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "Díly"
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr "Kódy projektu"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr "Sériové číslo"
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Množství"
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "Na skladě"
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr "Přihlášen"
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr "Přihlášen"
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr "Nic nevybráno"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr "Hlášení"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr "Čárové kódy"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Ceník"
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr "Reference"
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po
index 8f6a596292..efb300b32f 100644
--- a/src/frontend/src/locales/da/messages.po
+++ b/src/frontend/src/locales/da/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: da\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po
index 7ef6841d35..9b90b46674 100644
--- a/src/frontend/src/locales/de/messages.po
+++ b/src/frontend/src/locales/de/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr "Entfernen"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Abbrechen"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Leeren"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr "Teil ist virtuell (kein physischer Gegenstand)"
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuell"
@@ -246,32 +246,32 @@ msgstr "zur Vorschau"
msgid "Error rendering template"
msgstr "Fehler bei Darstellung der Vorlage"
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Formularfehler"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Abgeschlossen"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr "Formularfehler vorhanden"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Aktualisieren"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "Löschen"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Anmeldung erfolgreich"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Willkommen zurück!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Login fehlgeschlagen"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut."
@@ -314,46 +318,45 @@ msgstr "Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Mail erfolgreich gesendet"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Prüfen Sie Ihren Posteingang auf den Anmeldelink. Wenn Sie ein Konto haben, erhalten Sie einen Anmeldelink. Prüfen Sie auch den Spam."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Eingabefehler"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr "Oder mit anderen Methoden fortfahren"
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Nutzername"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Ihr Benutzername"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Passwort"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Dein Passwort"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Passwort zurücksetzen"
@@ -362,73 +365,77 @@ msgstr "Passwort zurücksetzen"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Mail"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Wir werden Ihnen einen Link für die Anmeldung senden"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Mail erhalten"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Benutzername und Passwort benutzen"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Anmelden"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "E-Mail senden"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Registrierung erfolgreich"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Bitte bestätigen Sie Ihre E-Mail-Adresse um die Registrierung abzuschließen"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Eingabefehler"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr "Dies wird zur Bestätigung verwendet"
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr "Passwort wiederholen"
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Passwort erneut eingeben"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr "Registrieren"
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr "Oder SSO verwenden"
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Nicht registriert?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr "Zurück zur Anmeldung"
@@ -440,7 +447,7 @@ msgstr "Adresse"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "Name: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Status: <0>worker0> ({0}), <1>Plugins1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Fehler"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Suche"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Wird geladen"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Keine Ergebnisse gefunden"
@@ -535,7 +543,7 @@ msgstr "Keine Einträge vorhanden"
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Vorschaubild"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "Mehr lesen"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Unbekannter Fehler"
@@ -871,12 +879,12 @@ msgstr "Version"
msgid "Server Version"
msgstr "Serverversion"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr "Unbekanntes Modell: {model}"
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr "Teil"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "Teile"
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr "Testvorlagen für Teil"
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr "Projektnummern"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr "Einkaufsbestellung"
@@ -1177,8 +1186,8 @@ msgstr "Einkaufsbestellung"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Nachbestellungen"
@@ -1202,7 +1211,7 @@ msgstr "Verkaufsauftrag"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Aufträge"
@@ -1276,7 +1285,7 @@ msgstr "Sendung"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr "Seriennummer"
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Anzahl"
@@ -1707,10 +1719,6 @@ msgstr "Keine Einstellungen angegeben"
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr "Kürzlich aktualisiert"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Geringer Bestand"
@@ -2073,7 +2081,7 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr "Lagerartikel hinzufügen"
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "Auf Lager"
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr "Bestand zählen"
@@ -2486,38 +2494,50 @@ msgstr "Übergeordneter Lagerort"
#~ msgid "See you soon."
#~ msgstr "See you soon."
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
+msgstr ""
+
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Abmeldung erfolgreich"
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr "Sie wurden abgemeldet"
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Prüfen Sie Ihren Posteingang für einen Link zum Zurücksetzen. Dies funktioniert nur, wenn Sie ein Konto haben. Prüfen Sie auch den Spam-Ordner."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Zurücksetzen fehlgeschlagen"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr "Angemeldet"
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr "Angemeldet"
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr "Bestehende Anmeldung gefunden - Willkommen zurück!"
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr "Ungültiges Formular"
msgid "method parameter not supplied"
msgstr "methodenparameter nicht angegeben"
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Nicht implementiert"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Diese Funktion wurde noch nicht implementiert"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr "Zugriff verweigert"
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr "Du hast keine Berechtigung, diese Aktion durchzuführen"
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr "Ungültiger Rückgabecode"
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr "Prüfe ob Sie bereits angemeldet sind"
msgid "No selection"
msgstr "Keine Auswahl"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Willkommen, unten anmelden"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr "Registrieren"
@@ -2596,6 +2616,10 @@ msgstr "Registrieren"
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr "Melden"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr "Stückliste"
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr "Barcode"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Preise"
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr "Berichte"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr "Inventur"
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr "Anhänge"
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Lieferant"
@@ -3511,12 +3534,13 @@ msgstr "Lieferant"
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr "Hersteller"
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr "Firmen-Aktionen"
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr "Herstellerteil Details"
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr "Parameter"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Lieferanten"
@@ -3605,54 +3629,61 @@ msgstr "Herstellerteil Aktionen"
msgid "ManufacturerPart"
msgstr "Herstellerteil"
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr "Notiz"
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr "Art.-Nr."
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr "Verpackung"
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr "Verpackungsmenge"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr "Lieferantenverfügbarkeit"
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr "Verfügbarkeit aktualisiert"
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr "Verfügbarkeit"
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr "Zuliefererteil Details"
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr "Empfangene Lagerartikel"
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr "Zuliefererteil Aktionen"
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr "Zuliefererteil bearbeiten"
@@ -3703,88 +3734,88 @@ msgstr "Kategorieaktionen"
msgid "Category Details"
msgstr "Kategorie-Details"
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr "Variante von"
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Kategorie"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr "Standard Lagerort"
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr "Standard-Lagerort der Kategorie"
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr "Version"
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Einheiten"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr "Schlüsselwörter"
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr "Link"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr "Verfügbarer Bestand"
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr "Minimaler Bestand"
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "Bestellt"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr "Bauaufträgen zugeordnet"
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr "Aufträgen zugeordnet"
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr "Herstellbar"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Gebäude"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr "Gebäude"
msgid "Active"
msgstr "Aktiv"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr "Vorlagenteil"
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr "Baugruppe"
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr "Komponente"
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr "Nachverfolgbares Teil"
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr "Käufliches Teil"
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr "Verkäufliches Teil"
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr "Virtuelles Teil"
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr "Erstelldatum"
@@ -3830,7 +3861,7 @@ msgstr "Erstelldatum"
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr "Erstellt von"
@@ -3838,94 +3869,97 @@ msgstr "Erstellt von"
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr "Standard Zulieferer"
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr "Standard Zulieferer"
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Preisspanne"
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr "Letzte Inventur"
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr "Inventur durch"
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr "Teil-Details"
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr "Varianten"
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr "Ferienguthaben/Freitage"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr "Verwendet in"
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr "Hersteller"
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr "Terminierung"
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr "Testvorlagen"
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr "Zugehörige Teile"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr "Teil bearbeiten"
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr "Lager-Aktionen"
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr "Bestand zählen"
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr "Bestand übertragen"
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr "Teile-Aktionen"
@@ -3933,6 +3967,192 @@ msgstr "Teile-Aktionen"
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Komponente"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Preis pro Einheit"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr "Gesamtpreis"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr "Aktualisiert"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr "Datum"
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr "Bestellung bearbeiten"
@@ -3984,7 +4204,7 @@ msgstr "Erstellt am"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Zieldatum"
@@ -4054,10 +4274,6 @@ msgstr "Basisteil"
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr "Bestand zählen"
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Lagerbestand hinzufügen"
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Lagerbestand entfernen"
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Lagerbestand verschieben"
@@ -4149,21 +4365,11 @@ msgstr "Lagerartikel duplizieren"
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr "Datum"
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Währung"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Gesamtpreis"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr "Filter hinzufügen"
msgid "Clear Filters"
msgstr "Filter zurücksetzen"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Keine Einträge gefunden"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "Der Server hat einen falschen Datentyp zurückgegeben"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Ungültige Anfrage"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Nicht autorisiert"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Verweigert"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Nicht gefunden"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr "Datensätze erfolgreich gelöscht"
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr "Löschen der Datensätze fehlgeschlagen"
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Barcode-Aktionen"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Druck-Aktionen"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Daten aktualisieren"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Tabellenfilter"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr "Diese Stücklistenposition ist für ein anderes übergeordnetes Element definiert"
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr "Teile-Informationen"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "Kein Bestand"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Alternatives Lager einschließen"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Verbrauchsartikel"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr "Nachverfolgbare Teile anzeigen"
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr "Artikel mit verfügbarem Lagerbestand anzeigen"
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
-msgstr "Stückliste anzeigen"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
+msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr "Stücklisten-Position bestätigen"
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr "Ersatzteil bearbeiten"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
+msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
+msgstr "Stückliste anzeigen"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr "Stücklisten-Position bestätigen"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr "Ersatzteil bearbeiten"
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Nachverfolgbar"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr "Nachverfolgbare Baugruppen anzeigen"
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Alternativen einschließen"
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Montage"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Komponente"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Filtern nach Nachverfolgbarer Eigenschaft"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Nicht virtuell"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr "Lieferanten-Link"
msgid "Manufacturer Code"
msgstr "Herstellernummer"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Preis pro Einheit"
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr "Bestimmungsort"
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Aktualisiert"
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po
index a2295299fa..1f1271eeef 100644
--- a/src/frontend/src/locales/el/messages.po
+++ b/src/frontend/src/locales/el/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: el\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr "Αφαίρεση"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Ακύρωση"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Εκκαθάριση"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr "Το εξάρτημα είναι εικονικό (μη φυσικό εξάρτημα)"
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Εικονικό"
@@ -246,32 +246,32 @@ msgstr "προς προεπισκόπηση"
msgid "Error rendering template"
msgstr "Σφάλμα αποτύπωσης προτύπου"
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Σφάλμα Φόρμας"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Επιτυχία"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr "Υπάρχουν Σφάλματα Φόρμας"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Ενημέρωση"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "Διαγραφή"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Επιτυχής σύνδεση"
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po
index e117951e9e..fc55a7a9e7 100644
--- a/src/frontend/src/locales/en/messages.po
+++ b/src/frontend/src/locales/en/messages.po
@@ -77,7 +77,7 @@ msgstr "Remove"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Cancel"
@@ -95,7 +95,7 @@ msgid "Clear"
msgstr "Clear"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -158,8 +158,8 @@ msgid "Part is virtual (not a physical part)"
msgstr "Part is virtual (not a physical part)"
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtual"
@@ -241,32 +241,32 @@ msgstr "to preview"
msgid "Error rendering template"
msgstr "Error rendering template"
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Form Error"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Success"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr "Form Errors Exist"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Update"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -435,7 +435,7 @@ msgstr "Host"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -486,34 +486,35 @@ msgstr "Name: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "State: <0>worker0> ({0}), <1>plugins1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:47
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Error"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Search"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Loading"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "No results found"
@@ -530,7 +531,7 @@ msgstr "No entries available"
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Thumbnail"
@@ -591,7 +592,7 @@ msgid "Read More"
msgstr "Read More"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Unknown error"
@@ -1038,7 +1039,7 @@ msgstr "Unknown model: {model}"
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1051,7 +1052,7 @@ msgstr "Part"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "Parts"
@@ -1072,8 +1073,8 @@ msgid "Part Test Templates"
msgstr "Part Test Templates"
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1165,6 +1166,7 @@ msgstr "Project Codes"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr "Purchase Order"
@@ -1172,8 +1174,8 @@ msgstr "Purchase Order"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Purchase Orders"
@@ -1197,7 +1199,7 @@ msgstr "Sales Order"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Sales Orders"
@@ -1271,7 +1273,7 @@ msgstr "Shipment"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1285,10 +1287,13 @@ msgid "Serial Number"
msgstr "Serial Number"
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:117
+#: src/pages/part/pricing/PriceBreakPanel.tsx:95
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Quantity"
@@ -1702,10 +1707,6 @@ msgstr "No settings specified"
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1994,7 +1995,7 @@ msgid "Recently Updated"
msgstr "Recently Updated"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Low Stock"
@@ -2068,7 +2069,7 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2375,8 +2376,8 @@ msgstr "Enter serial numbers for new stock (or leave blank)"
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr "Add Stock Item"
@@ -2400,8 +2401,8 @@ msgstr "Move to default location"
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "In Stock"
@@ -2444,12 +2445,12 @@ msgid "Remove Stock"
msgstr "Remove Stock"
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr "Transfer Stock"
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr "Count Stock"
@@ -3184,7 +3185,7 @@ msgstr "Report"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr "Bill of Materials"
@@ -3218,8 +3219,6 @@ msgid "Barcodes"
msgstr "Barcodes"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr "Pricing"
@@ -3237,14 +3236,14 @@ msgid "Reporting"
msgstr "Reporting"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr "Stocktake"
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr "Build Orders"
@@ -3327,14 +3326,14 @@ msgstr "Reference"
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3363,7 +3362,7 @@ msgid "Issued By"
msgstr "Issued By"
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3438,7 +3437,7 @@ msgstr "Child Build Orders"
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3448,7 +3447,7 @@ msgstr "Attachments"
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3494,11 +3493,12 @@ msgstr "Default Currency"
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Supplier"
@@ -3506,12 +3506,13 @@ msgstr "Supplier"
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr "Manufacturer"
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:37
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3553,17 +3554,17 @@ msgid "Company Actions"
msgstr "Company Actions"
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr "Internal Part"
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr "External Link"
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr "Manufacturer Part Number"
@@ -3577,12 +3578,12 @@ msgid "Manufacturer Part Details"
msgstr "Manufacturer Part Details"
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr "Parameters"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Suppliers"
@@ -3600,54 +3601,61 @@ msgstr "Manufacturer Part Actions"
msgid "ManufacturerPart"
msgstr "ManufacturerPart"
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr "Note"
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr "SKU"
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr "Packaging"
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr "Pack Quantity"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr "Supplier Availability"
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr "Availability Updated"
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr "Availability"
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr "Supplier Part Details"
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr "Received Stock"
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:79
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:111
+msgid "Supplier Pricing"
+msgstr "Supplier Pricing"
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr "Supplier Part Actions"
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr "Edit Supplier Part"
@@ -3698,88 +3706,88 @@ msgstr "Category Actions"
msgid "Category Details"
msgstr "Category Details"
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr "Variant of"
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Category"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr "Default Location"
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr "Category Default Location"
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr "Revision"
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Units"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr "Keywords"
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr "Link"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr "Available Stock"
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr "Minimum Stock"
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:205
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "On order"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr "Allocated to Build Orders"
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr "Allocated to Sales Orders"
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:229
msgid "Can Build"
msgstr "Can Build"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:213
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Building"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3787,37 +3795,37 @@ msgstr "Building"
msgid "Active"
msgstr "Active"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr "Template Part"
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:257
msgid "Assembled Part"
msgstr "Assembled Part"
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr "Component Part"
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:252
msgid "Trackable Part"
msgstr "Trackable Part"
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr "Purchaseable Part"
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr "Saleable Part"
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr "Virtual Part"
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr "Creation Date"
@@ -3825,7 +3833,7 @@ msgstr "Creation Date"
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr "Created By"
@@ -3833,94 +3841,97 @@ msgstr "Created By"
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr "Default Supplier"
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr "Default Supplier"
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Price Range"
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr "Last Stocktake"
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr "Part Details"
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr "Variants"
-#: src/pages/part/PartDetail.tsx:504
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr "Allocations"
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr "Used In"
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr "Part Pricing"
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr "Manufacturers"
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr "Test Templates"
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr "Related Parts"
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr "No Stock"
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr "On Order"
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr "In Production"
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr "Edit Part"
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr "Stock Actions"
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr "Count part stock"
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr "Part Actions"
@@ -3928,6 +3939,186 @@ msgstr "Part Actions"
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:48
+msgid "No pricing data found for this part."
+msgstr "No pricing data found for this part."
+
+#: src/pages/part/PartPricingPanel.tsx:56
+msgid "Pricing Overview"
+msgstr "Pricing Overview"
+
+#: src/pages/part/PartPricingPanel.tsx:62
+msgid "Purchase History"
+msgstr "Purchase History"
+
+#: src/pages/part/PartPricingPanel.tsx:73
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:90
+msgid "Internal Pricing"
+msgstr "Internal Pricing"
+
+#: src/pages/part/PartPricingPanel.tsx:85
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:97
+msgid "BOM Pricing"
+msgstr "BOM Pricing"
+
+#: src/pages/part/PartPricingPanel.tsx:91
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:118
+msgid "Variant Pricing"
+msgstr "Variant Pricing"
+
+#: src/pages/part/PartPricingPanel.tsx:102
+msgid "Sale Pricing"
+msgstr "Sale Pricing"
+
+#: src/pages/part/PartPricingPanel.tsx:108
+msgid "Sale History"
+msgstr "Sale History"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:85
+msgid "Minimum Total Price"
+msgstr "Minimum Total Price"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:90
+msgid "Maximum Total Price"
+msgstr "Maximum Total Price"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:110
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Component"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:137
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:76
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:135
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
+#: src/tables/bom/BomTable.tsx:144
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Unit Price"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:146
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:153
+msgid "Total Price"
+msgstr "Total Price"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:162
+#: src/pages/part/pricing/VariantPricingPanel.tsx:61
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr "Updated"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:211
+msgid "Pie Chart"
+msgstr "Pie Chart"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:212
+msgid "Bar Chart"
+msgstr "Bar Chart"
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:62
+#: src/pages/part/pricing/PriceBreakPanel.tsx:116
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr "Add Price Break"
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:75
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr "Edit Price Break"
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:85
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr "Delete Price Break"
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:101
+#: src/pages/part/pricing/PriceBreakPanel.tsx:175
+msgid "Price Break"
+msgstr "Price Break"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:48
+msgid "Pricing Category"
+msgstr "Pricing Category"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Minimum"
+msgstr "Minimum"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:72
+msgid "Maximum"
+msgstr "Maximum"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:104
+msgid "Purchase Pricing"
+msgstr "Purchase Pricing"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:125
+msgid "Override Pricing"
+msgstr "Override Pricing"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:132
+msgid "Overall Pricing"
+msgstr "Overall Pricing"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr "Last Updated"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:167
+#: src/pages/part/pricing/VariantPricingPanel.tsx:45
+#: src/pages/part/pricing/VariantPricingPanel.tsx:108
+msgid "Minimum Price"
+msgstr "Minimum Price"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:172
+#: src/pages/part/pricing/VariantPricingPanel.tsx:53
+#: src/pages/part/pricing/VariantPricingPanel.tsx:113
+msgid "Maximum Price"
+msgstr "Maximum Price"
+
+#: src/pages/part/pricing/PricingPanel.tsx:34
+msgid "No Data"
+msgstr "No Data"
+
+#: src/pages/part/pricing/PricingPanel.tsx:35
+msgid "No pricing data available"
+msgstr "No pricing data available"
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:49
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:44
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr "Date"
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:56
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:140
+msgid "Purchase Price"
+msgstr "Purchase Price"
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:30
+msgid "Sale Order"
+msgstr "Sale Order"
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:51
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:99
+msgid "Sale Price"
+msgstr "Sale Price"
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:71
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr "Supplier Price"
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:38
+msgid "Variant Part"
+msgstr "Variant Part"
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr "Edit Purchase Order"
@@ -3979,7 +4170,7 @@ msgstr "Created On"
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Target Date"
@@ -4049,10 +4240,6 @@ msgstr "Base Part"
msgid "Stock Status"
msgstr "Stock Status"
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr "Last Updated"
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4118,12 +4305,12 @@ msgid "Count stock"
msgstr "Count stock"
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Add stock"
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Remove stock"
@@ -4132,7 +4319,7 @@ msgid "Transfer"
msgstr "Transfer"
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Transfer stock"
@@ -4144,21 +4331,11 @@ msgstr "Duplicate stock item"
msgid "Batch Code"
msgstr "Batch Code"
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr "Date"
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Currency"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Total Price"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4240,72 +4417,72 @@ msgstr "Add Filter"
msgid "Clear Filters"
msgstr "Clear Filters"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "No records found"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "Server returned incorrect data type"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Bad request"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Unauthorized"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Forbidden"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Not found"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr "Delete selected records"
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr "Are you sure you want to delete the selected records?"
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr "Deleted records"
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr "Records were deleted successfully"
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr "Failed to delete records"
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Print actions"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Refresh data"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Table filters"
@@ -4317,123 +4494,123 @@ msgstr "This BOM item is defined for a different parent"
msgid "Part Information"
msgstr "Part Information"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:172
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "No stock"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:180
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr "External stock"
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:188
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr "Includes substitute stock"
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:197
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Includes variant stock"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:222
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr "Stock Information"
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:233
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Consumable item"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:253
msgid "Show trackable items"
msgstr "Show trackable items"
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:258
msgid "Show asssmbled items"
msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:262
msgid "Show items with available stock"
msgstr "Show items with available stock"
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:266
msgid "Show items on order"
msgstr "Show items on order"
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:270
msgid "Show validated items"
msgstr "Show validated items"
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:274
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr "Show inherited items"
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr "Show optional items"
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:282
msgid "Show consumable items"
msgstr "Show consumable items"
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:286
msgid "Has Pricing"
msgstr "Has Pricing"
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:287
msgid "Show items with pricing"
msgstr "Show items with pricing"
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:298
msgid "View BOM"
msgstr "View BOM"
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:309
msgid "Validate BOM line"
msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:317
msgid "Edit Substitutes"
msgstr "Edit Substitutes"
-#: src/tables/bom/BomTable.tsx:311
+#: src/tables/bom/BomTable.tsx:331
msgid "Edit Bom Item"
msgstr "Edit Bom Item"
-#: src/tables/bom/BomTable.tsx:313
+#: src/tables/bom/BomTable.tsx:333
msgid "Bom item updated"
msgstr "Bom item updated"
-#: src/tables/bom/BomTable.tsx:328
+#: src/tables/bom/BomTable.tsx:348
msgid "Delete Bom Item"
msgstr "Delete Bom Item"
-#: src/tables/bom/BomTable.tsx:329
+#: src/tables/bom/BomTable.tsx:349
msgid "Bom item deleted"
msgstr "Bom item deleted"
-#: src/tables/bom/BomTable.tsx:331
+#: src/tables/bom/BomTable.tsx:351
msgid "Are you sure you want to remove this BOM item?"
msgstr "Are you sure you want to remove this BOM item?"
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr "Show active assemblies"
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Trackable"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr "Show trackable assemblies"
@@ -4748,14 +4925,14 @@ msgstr "Edit parameter"
msgid "Add Part Parameter"
msgstr "Add Part Parameter"
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr "Edit Part Parameter"
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Include Subcategories"
@@ -4796,20 +4973,20 @@ msgstr "Parameter Template"
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr "New Part Parameter"
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr "Delete Part Parameter"
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr "Add parameter"
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Include Variants"
@@ -4831,7 +5008,7 @@ msgid "Show templates with choices"
msgstr "Show templates with choices"
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Has Units"
@@ -4867,85 +5044,81 @@ msgstr "Build Order Allocations"
msgid "Sales Order Allocations"
msgstr "Sales Order Allocations"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Filter by part active status"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Assembly"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Filter by assembly attribute"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Include parts in subcategories"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Component"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Filter by component attribute"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Filter by trackable attribute"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Filter by parts which have units"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Has IPN"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Filter by parts which have an internal part number"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Has Stock"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Filter by parts which have stock"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Filter by parts which have low stock"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Purchaseable"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Filter by parts which are purchaseable"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Salable"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Filter by parts which are salable"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Filter by parts which are virtual"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Not Virtual"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr "Add Part"
@@ -5321,10 +5494,6 @@ msgstr "Supplier Link"
msgid "Manufacturer Code"
msgstr "Manufacturer Code"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Unit Price"
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr "Destination"
@@ -5366,10 +5535,6 @@ msgstr "MPN"
msgid "Base units"
msgstr "Base units"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Updated"
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr "Add Supplier Part"
@@ -5788,52 +5953,52 @@ msgstr "External Location"
msgid "Show items in an external location"
msgstr "Show items in an external location"
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr "Add a new stock item"
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr "Remove some quantity from a stock item"
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr "Move Stock items to new locations"
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr "Change stock status"
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr "Change the status of stock items"
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr "Merge stock"
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr "Merge stock items"
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr "Order stock"
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr "Order new stock"
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr "Assign to customer"
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr "Delete stock"
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr "Delete stock items"
diff --git a/src/frontend/src/locales/es-mx/messages.po b/src/frontend/src/locales/es-mx/messages.po
index d68d35db58..ec6ef8c5ef 100644
--- a/src/frontend/src/locales/es-mx/messages.po
+++ b/src/frontend/src/locales/es-mx/messages.po
@@ -77,7 +77,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -95,7 +95,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -158,8 +158,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -241,32 +241,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -416,7 +416,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -467,34 +467,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:47
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -511,7 +512,7 @@ msgstr ""
#~ msgstr ""
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -572,7 +573,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -1011,7 +1012,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1024,7 +1025,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1045,8 +1046,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1138,6 +1139,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1145,8 +1147,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1170,7 +1172,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1244,7 +1246,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1258,10 +1260,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:117
+#: src/pages/part/pricing/PriceBreakPanel.tsx:95
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1671,10 +1676,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr ""
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr ""
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr ""
@@ -1963,7 +1964,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2029,7 +2030,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2272,8 +2273,8 @@ msgstr ""
#~ msgstr ""
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2297,8 +2298,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2341,12 +2342,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2949,7 +2950,7 @@ msgstr ""
#~ msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -2983,8 +2984,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr ""
@@ -3002,14 +3001,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3088,14 +3087,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3124,7 +3123,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3199,7 +3198,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3209,7 +3208,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3255,11 +3254,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3267,12 +3267,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:37
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3314,17 +3315,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3338,12 +3339,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3361,54 +3362,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:79
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:111
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3459,88 +3467,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:205
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:229
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:213
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3548,37 +3556,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:257
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:252
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3586,7 +3594,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3594,97 +3602,280 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:504
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
+#: src/pages/part/PartPricingPanel.tsx:48
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:56
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:62
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:73
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:90
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:85
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:97
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:91
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:118
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:102
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:108
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:85
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:90
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:110
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:137
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:76
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:135
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
+#: src/tables/bom/BomTable.tsx:144
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:146
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:153
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:162
+#: src/pages/part/pricing/VariantPricingPanel.tsx:61
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:211
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:212
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:62
+#: src/pages/part/pricing/PriceBreakPanel.tsx:116
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:75
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:85
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:101
+#: src/pages/part/pricing/PriceBreakPanel.tsx:175
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:48
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:72
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:104
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:125
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:132
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:167
+#: src/pages/part/pricing/VariantPricingPanel.tsx:45
+#: src/pages/part/pricing/VariantPricingPanel.tsx:108
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:172
+#: src/pages/part/pricing/VariantPricingPanel.tsx:53
+#: src/pages/part/pricing/VariantPricingPanel.tsx:113
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:34
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:35
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:49
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:44
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:56
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:140
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:30
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:51
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:99
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:71
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:38
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3736,7 +3927,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -3806,10 +3997,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -3875,12 +4062,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -3889,7 +4076,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -3901,21 +4088,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -3997,72 +4174,72 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
@@ -4074,123 +4251,123 @@ msgstr ""
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:172
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:180
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:188
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:197
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:222
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:233
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:253
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:258
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:262
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:266
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:270
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:274
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:282
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:286
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:287
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:298
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:309
msgid "Validate BOM line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:317
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:311
+#: src/tables/bom/BomTable.tsx:331
msgid "Edit Bom Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:313
+#: src/tables/bom/BomTable.tsx:333
msgid "Bom item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
+#: src/tables/bom/BomTable.tsx:348
msgid "Delete Bom Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
+#: src/tables/bom/BomTable.tsx:349
msgid "Bom item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:331
+#: src/tables/bom/BomTable.tsx:351
msgid "Are you sure you want to remove this BOM item?"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4505,14 +4682,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4553,20 +4730,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr ""
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4588,7 +4765,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4624,85 +4801,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5078,10 +5251,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5123,10 +5292,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5545,52 +5710,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po
index 9f45fabd76..1122498e97 100644
--- a/src/frontend/src/locales/es/messages.po
+++ b/src/frontend/src/locales/es/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: es_MX\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Spanish, Mexico\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr "Eliminar"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Cancelar"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Borrar"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Inicio de sesión exitoso"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "¡Bienvenido de vuelta!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Error al iniciar sesión"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Envío de correo exitoso"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Revisa tu bandeja de entrada para el enlace de inicio de sesión. Si tienes una cuenta, recibirás un enlace de inicio de sesión. Revisa también el correo no deseado."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Error de entrada"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Nombre de usuario"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Contraseña"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Tu contraseña"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Restablecer contraseña"
@@ -362,73 +365,77 @@ msgstr "Restablecer contraseña"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Correo electrónico"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Te enviaremos un enlace para iniciar sesión - si estás registrado"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Envíame un correo electrónico"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Error de entrada"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "Nombre: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Órdenes de compra"
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "En Stock"
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Bienvenido, inicia sesión a continuación"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr "Informe"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr "Códigos de barras"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Precios"
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr "Informes"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr "Ordenes de Producción"
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Proveedor"
@@ -3511,12 +3534,13 @@ msgstr "Proveedor"
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr "Parámetros"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Proveedores"
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr "Activo"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr "En producción"
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr "Contar stock"
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Agregar stock"
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Remover stock"
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr "Transferir"
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Transferir stock"
@@ -4149,21 +4365,11 @@ msgstr "Duplicar artículo de stock"
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Rastreable"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr "Mostrar ensamblajes rastreables"
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr "Unidades base"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po
index 7c5eaf58f2..31f3215076 100644
--- a/src/frontend/src/locales/fa/messages.po
+++ b/src/frontend/src/locales/fa/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: fa\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po
index 7196d8b96d..b2c70fbe75 100644
--- a/src/frontend/src/locales/fi/messages.po
+++ b/src/frontend/src/locales/fi/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: fi\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po
index 4b88a9ebd6..69ce7fb931 100644
--- a/src/frontend/src/locales/fr/messages.po
+++ b/src/frontend/src/locales/fr/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@@ -82,7 +82,7 @@ msgstr "Supprimer"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Annuler"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Effacer"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Erreur de formulaire"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Succès"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr "Erreur le formulaire existe"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Mise à jour"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "Supprimer"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Connexion réussie"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Bon retour parmi nous !"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Login invalide"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Vérifiez votre saisie et réessayez."
@@ -314,46 +318,45 @@ msgstr "Vérifiez votre saisie et réessayez."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Envoi du mail réussi"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Vérifiez votre boîte de réception pour le lien de connexion. Si vous avez un compte, vous recevrez un lien de connexion. Vérifiez également dans le courrier indésirable."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Erreur d'entrée"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr "Ou continuer avec d'autres méthodes"
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Nom d'utilisateur"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Votre nom d'utilisateur"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Mot de passe"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Mot de passe"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Réinitialiser le mot de passe"
@@ -362,73 +365,77 @@ msgstr "Réinitialiser le mot de passe"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Email"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Nous vous enverrons un lien pour vous connecter - si vous êtes déjà inscrit"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Envoyez-moi un e-mail"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Utilisez votre nom d'utilisateur et votre mot de passe"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Se connecter"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Envoyer l'e-mail"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Inscription réussie"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Veuillez confirmer votre adresse e-mail pour finaliser l'inscription"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Erreur d'entrée"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr "Ceci sera utilisé pour une confirmation"
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr "Répétition du mot de passe"
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Répéter le mot de passe"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr "S'enregistrer"
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr "Ou utiliser SSO"
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Pas encore de compte ?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr "Retourner au login"
@@ -440,7 +447,7 @@ msgstr "Serveur"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "Nom : {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Erreur"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Rechercher"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Chargement"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Aucun résultat trouvé"
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Miniature"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "En Savoir Plus"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Erreur inconnue"
@@ -871,12 +879,12 @@ msgstr "Version"
msgid "Server Version"
msgstr "Version du serveur"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr "Modèle inconnu : {model}"
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr "Pièce"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "Composants"
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr "Codes du projet"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr "Commande d’achat"
@@ -1177,8 +1186,8 @@ msgstr "Commande d’achat"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Ordres d'achat"
@@ -1202,7 +1211,7 @@ msgstr "Ventes"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Ordres de vente"
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr "Mis à jour récemment"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Stock faible"
@@ -2073,7 +2081,7 @@ msgstr "Démo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)"
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr "Ajouter un article en stock"
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Déconnexion résussie"
-
-#: src/functions/auth.tsx:71
-msgid "You have been logged out"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
+#: src/functions/auth.tsx:71
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
+
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Vérifiez votre boîte de réception pour un lien de réinitialisation. Cela ne fonctionne que si vous avez un compte. Vérifiez également dans le spam."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Échec de la réinitialisation"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr "Vérifier si vous êtes déjà connecté"
msgid "No selection"
msgstr "Aucune sélection"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Bienvenue, connectez-vous ci-dessous"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr "Ordres de fabrication"
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Catégorie"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr "Emplacement par défaut"
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr "Révision"
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Unités"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr "Mots-clés"
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr "Lien"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr "Stock Minimum"
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "Sur commande"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr "Alloué à l'ordre de construction"
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr "Alloué aux ordres de ventes"
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr "Peut être construit"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Construire"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr "Construire"
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr "Date de création"
@@ -3830,7 +3861,7 @@ msgstr "Date de création"
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr "Fournisseur par Défaut"
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr "Fournisseur par Défaut"
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Échelle des prix"
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr "Dernier inventaire"
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr "Variants"
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr "Allocations"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr "Prix total"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Date cible"
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Devise"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Prix total"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr "Ajouter un filtre"
msgid "Clear Filters"
msgstr "Effacer filtres"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Pas d'enregistrement trouvé"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "Le serveur à retourner un type de donnée incorrect"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Requête invalide"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Non autorisé"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Accès interdit"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Elément non trouvé"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr "Supprimer les enregistrements sélectionnés"
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr "Êtes-vous sûr de vouloir supprimer les enregistrements sélectionnés ?"
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr "Cette action ne peut pas être annulée !"
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr "Enregistrement supprimé"
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr "Les enregistrements ont été supprimés avec succès"
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr "Échec de la suppression des enregistrements"
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Actions de code-barres"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Actions d'impression"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Actualiser les données"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Filtres de tableau"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr "Cet article de nomenclature est défini pour un autre parent"
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr "Information de pièce"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "Aucun stock"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr "Comprend un stock de remplacement"
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Inclut le stock de variantes"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr "Information de stock"
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Article consommable"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po
index a1c895f86b..2ac2470f9b 100644
--- a/src/frontend/src/locales/he/messages.po
+++ b/src/frontend/src/locales/he/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: he\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po
index 085e9d9a2d..fae83e191f 100644
--- a/src/frontend/src/locales/hi/messages.po
+++ b/src/frontend/src/locales/hi/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: hi\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "लॉगिन सफल"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "आपका पुनः स्वागत है"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "लॉगिन असफल"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "इनपुट त्रुटि"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "उपयोगकर्ता नाम"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "पासवर्ड"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "आपका पासवर्ड"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "पासवर्ड रीसेट करें"
@@ -362,73 +365,77 @@ msgstr "पासवर्ड रीसेट करें"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "ई-मेल"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "इनपुट त्रुटि"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po
index a98dc64a29..e7f7f99fc7 100644
--- a/src/frontend/src/locales/hu/messages.po
+++ b/src/frontend/src/locales/hu/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: hu\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr "Eltávolítás"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Mégsem"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuális"
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Form hiba"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Siker"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr "Form hibák vannak"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "Törlés"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Sikeres bejelentkezés"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Üdv újra!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Belépés sikertelen"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Ellenőrizd amit beírtál és próbáld újra."
@@ -314,46 +318,45 @@ msgstr "Ellenőrizd amit beírtál és próbáld újra."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Levél kézbesítése sikeres"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "A bejelentkezési linket keresd a bejövő email fiókodban. Ellenőrizd a spameket is."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Beviteli hiba"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Felhasználónév"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Jelszó"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Jelszó"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Jelszó visszaállítása"
@@ -362,73 +365,77 @@ msgstr "Jelszó visszaállítása"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Email"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Küldünk bejelentkezési linket - ha regisztrálva vagy"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Email küldés"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Bejelentkezés"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Email küldés"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Beviteli hiba"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr "Kiszolgáló"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "Név: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Státusz: <0>worker0> ({0}), <1>plugins1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Hiba"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Keresés"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Betöltés"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Nincs találat"
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Bélyegkép"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "Tudj meg többet"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Ismeretlen hiba"
@@ -871,12 +879,12 @@ msgstr "Verzió"
msgid "Server Version"
msgstr "Szerver verziója"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr "Ismeretlen model: {model}"
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr "Alkatrész"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "Alkatrészek"
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr "Projektszámok"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
@@ -1177,8 +1186,8 @@ msgstr "Beszerzési rendelés"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Beszerzési rendelések"
@@ -1202,7 +1211,7 @@ msgstr "Vevői rendelés"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Vevői rendelések"
@@ -1276,7 +1285,7 @@ msgstr "Szállítmány"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr "Sorozatszám"
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Mennyiség"
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr "Nemrég frissítve"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Alacsony készlet"
@@ -2073,7 +2081,7 @@ msgstr "Demó"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr "Új készlet tétel"
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "Készleten"
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr "Készlet áthelyezése"
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr "Leltározás"
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Sikeres kijelentkezés"
-
-#: src/functions/auth.tsx:71
-msgid "You have been logged out"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
+#: src/functions/auth.tsx:71
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
+
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Nézd meg a beérkező levelek mappájában a visszaállítási linket. Ez csak akkor működik, ha van fiókod. Ellenőrizd a spameket is."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Visszaállítás sikertelen"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr "Érvénytelen űrlap"
msgid "method parameter not supplied"
msgstr "metódus paraméter nem támogatott"
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Nincs implementálva"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Ez a funkció még nem készült el"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr "Engedély megtagadva"
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr "Nincs jogosultságod ehhez a művelethez"
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr "Érvénytelen visszatérési kód"
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr "Szerver válaszkódja {returnCode}"
@@ -2584,11 +2604,11 @@ msgstr "Ellenőrzöm hogy be vagy-e már jelentkezve"
msgid "No selection"
msgstr "Nincs kijelölés"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Üdvözlet, bejelentkezés lent"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr "Jelentés"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr "Alkatrészjegyzék"
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr "Vonalkódok"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Árazás"
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr "Riportolás"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr "Leltár"
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr "Gyártási utasítások"
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr "Alárendelt gyártások"
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr "Mellékletek"
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Beszállító"
@@ -3511,12 +3534,13 @@ msgstr "Beszállító"
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr "Gyártó"
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr "Cég műveletek"
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr "Paraméterek"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Beszállítók"
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr "Csomagolási mennyiség"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr "Beérkezett készlet"
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr "Beszállítói alkatrész szerkesztése"
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Kategória"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Mértékegységek"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr "Link"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "Rendelve"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr "Gyártható"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Gyártásban"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr "Gyártásban"
msgid "Active"
msgstr "Aktív"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr "Gyártmány alkatrész"
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr "Létrehozás dátuma"
@@ -3830,7 +3861,7 @@ msgstr "Létrehozás dátuma"
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Ártartomány"
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr "Változatok"
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr "Foglalások"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr "Felhasználva ebben"
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr "Gyártók"
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr "Ütemezés"
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr "Teszt sablonok"
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr "Kapcsolódó alkatrészek"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr "Rendelve"
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr "Alkatrész szerkesztése"
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr "Készlet műveletek"
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr "Készlet számolása"
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr "Készlet áthelyezése"
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr "Alkatrész műveletek"
@@ -3933,6 +3967,192 @@ msgstr "Alkatrész műveletek"
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Összetevő"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Egységár"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr "Teljes ár"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr "Frissítve"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Cél dátum"
@@ -4054,10 +4274,6 @@ msgstr "Kiindulási alkatrész"
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr "Leltározás"
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Készlethez ad"
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Készlet csökkentése"
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr "Áthelyezés"
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Készlet áthelyezése"
@@ -4149,21 +4365,11 @@ msgstr "Készlet tétel másolása"
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Pénznem"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Teljes ár"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr "Szűrő hozzáadása"
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Nincs találat"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "A szerver hibás adattípust küldött vissza"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Hibás kérés"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Jogosulatlan"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Tiltott"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Nem található"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Vonalkód műveletek"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Nyomtatási műveletek"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Adatok frissítése"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Táblaszűrők"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr "Ez a beépülő alkatrész másik szülő alkatrészhez lett felvéve"
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr "Alkatrész információ"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "Nincs készlet"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr "Helyettesítőkkel együtt"
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Változatokkal együtt"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr "Készlet adatok"
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Fogyóeszköz tétel"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:311
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:313
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:328
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:329
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
msgid "View BOM"
msgstr "Alkatrészjegyzék megtekintése"
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:344
msgid "Validate BOM line"
msgstr "Alkatrészjegyzék tétel jóváhagyása"
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:352
msgid "Edit Substitutes"
msgstr "Helyettesítő alkatrészek szerkesztése"
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
-msgstr "Alkatrészjegyzék tétel szerkesztése"
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
-#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
-msgstr "Készlet tétel módosítva"
-
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr "Alkatrészjegyzék tétel törlése"
-
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr "Alkatrészjegyzék tétel törölve"
-
-#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
-msgstr "Biztos benne, hogy eltávolítja ezt az alkatrészjegyzék tételt?"
-
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Követésre kötelezett"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr "Alkatrész paraméter szerkesztése"
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Alkategóriákkal együtt"
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr "Alkatrész paraméter törlése"
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr "Paraméter hozzáadás"
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Változatok is"
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Van mértékegysége"
@@ -4872,85 +5106,81 @@ msgstr "Gyártáshoz foglalások"
msgid "Sales Order Allocations"
msgstr "Vevői rendeléshez foglalások"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Szűrés aktív státusz szerint"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Gyártmány"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Szűrés szerelési tulajdonság szerint"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Alkategóriákkal együtt"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Összetevő"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Szűrés összetevő tulajdonság szerint"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Szűrés követésre kötelezettség szerint"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Szűrés meglévő mértékegység szerint"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Van IPN-je"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Szűrés meglévő IPN szerint"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Van készlet"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Szűrés meglévő készlet szerint"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Szűrés alacsony készlet szerint"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Beszerezhető"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Szűrés beszerezhetőség szerint"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Értékesíthető"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Szűrés értékesíthetőség szerint"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Szűrés virtuális alkatrészek szerint"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Nem virtuális"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr "Beszállítói link"
msgid "Manufacturer Code"
msgstr "Gyártói kód"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Egységár"
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr "Cél"
@@ -5371,10 +5597,6 @@ msgstr "MPN (Gyártói cikkszám)"
msgid "Base units"
msgstr "Egység"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Frissítve"
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr "Beszállítói alkatrész hozzáadása"
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po
index 48085a174b..974882dda5 100644
--- a/src/frontend/src/locales/id/messages.po
+++ b/src/frontend/src/locales/id/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: id\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po
index f402068d4f..a83da86734 100644
--- a/src/frontend/src/locales/it/messages.po
+++ b/src/frontend/src/locales/it/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: it\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po
index 67ffc1f0c6..98fe28eab0 100644
--- a/src/frontend/src/locales/ja/messages.po
+++ b/src/frontend/src/locales/ja/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ja\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "キャンセル"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "仮想部品"
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "削除"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "ユーザー名"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "パスワード"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "パスワードを再設定"
@@ -362,73 +365,77 @@ msgstr "パスワードを再設定"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "メールアドレス"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "エラー"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "読み込み中"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "サムネイル"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "続きを読む"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr "パーツ"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "パーツ"
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "価格"
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr "添付ファイル"
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr "フィルタを追加"
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "表フィルタ"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "サブカテゴリを含む"
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "有効なパーツでフィルタ"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "サブカテゴリのパーツを含む"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "コンポーネント属性でフィルタ"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "追跡可能属性でフィルタ"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "単位のある部品でフィルタ"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "在庫がある部品でフィルタ"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "購入可能な部品でフィルタ"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "販売可能な部品でフィルタ"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "仮想部品でフィルタ"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "仮想部品ではない"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po
index 802266b16f..1d3a00ccd2 100644
--- a/src/frontend/src/locales/ko/messages.po
+++ b/src/frontend/src/locales/ko/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ko\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po
index 725a9fa8ec..7a5096ef9c 100644
--- a/src/frontend/src/locales/lv/messages.po
+++ b/src/frontend/src/locales/lv/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: lv\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:36\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Plural-Forms: nplurals=3; plural=(n==0 ? 0 : n%10==1 && n%100!=11 ? 1 : 2);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po
index b0e652303a..b6a3aa71ca 100644
--- a/src/frontend/src/locales/nl/messages.po
+++ b/src/frontend/src/locales/nl/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: nl\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "E-mail versturen"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr "Verkooporder"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Verkooporders"
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr "Productieorders"
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr "Bijlagen"
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr "Verkoopordertoewijzingen"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po
index 508a0f27f5..8f0fad2c92 100644
--- a/src/frontend/src/locales/no/messages.po
+++ b/src/frontend/src/locales/no/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: no\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr "Fjern"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Avbryt"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuell"
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Skjemafeil"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Suksess"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr "Skjemafeil eksisterer"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Oppdater"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "Slett"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Innlogging vellykket"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Velkommen tilbake!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Innloggingen mislyktes"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Kontroller inndataene og prøv igjen."
@@ -314,46 +318,45 @@ msgstr "Kontroller inndataene og prøv igjen."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Levering av e-post vellykket"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Sjekk innboksen din for innloggingslenken. Hvis du har en konto, får du en innloggingslenke. Sjekk også i spam."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Inndatafeil"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Brukernavn"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Your username"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Passord"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Ditt passord"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Tilbakestill passord"
@@ -362,73 +365,77 @@ msgstr "Tilbakestill passord"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "E-post"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Vi sender deg en lenke for å logge inn - hvis du er registrert"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Send meg en e-post"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Logg inn"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Send e-post"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Inndatafeil"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr "Vert"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "Navn: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Status: <0>arbeider0> ({0}), <1>utvidelser1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Feil"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Søk"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Laster"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Ingen resultater funnet"
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Miniatyrbilde"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "Les mer"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Ukjent feil"
@@ -871,12 +879,12 @@ msgstr "Versjon"
msgid "Server Version"
msgstr "Serverversjon"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr "Ukjent modell: {model}"
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr "Del"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "Deler"
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr "Prosjektkoder"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr "Innkjøpsordre"
@@ -1177,8 +1186,8 @@ msgstr "Innkjøpsordre"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Innkjøpsordrer"
@@ -1202,7 +1211,7 @@ msgstr "Salgsordre"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Salgsordrer"
@@ -1276,7 +1285,7 @@ msgstr "Forsendelse"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr "Serienummer"
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Antall"
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr "Nylig oppdatert"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Lav lagerbeholdning"
@@ -2073,7 +2081,7 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr "Angi serienumre for ny lagerbeholdning (eller la stå tom)"
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "På lager"
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr "Overfør lager"
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr "Tell beholdning"
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Utlogging vellykket"
-
-#: src/functions/auth.tsx:71
-msgid "You have been logged out"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
+#: src/functions/auth.tsx:71
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
+
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Sjekk innboksen for en nullstillingslenke. Dette fungerer bare hvis du har en konto. Sjekk også i spam."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Tilbakestilling feilet"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr "Ugyldig skjema"
msgid "method parameter not supplied"
msgstr "metodeparameter er ikke angitt"
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Ikke implementert"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Denne funksjonen er ikke implementert ennå"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr "Tillatelse nektet"
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr "Du har ikke rettigheter til å utføre denne handlingen"
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr "Ugyldig returkode"
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr "Serveren returnerte status {returnCode}"
@@ -2584,11 +2604,11 @@ msgstr "Sjekker om du allerede er innlogget"
msgid "No selection"
msgstr "Ingen utvalg"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Velkommen, logg inn nedenfor"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr "Rapport"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr "Stykkliste (BOM)"
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr "Strekkoder"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Prising"
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr "Rapportering"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr "Lagertelling"
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr "Produksjonsordrer"
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr "Underordnede Produksjonsordrer"
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr "Vedlegg"
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Leverandør"
@@ -3511,12 +3534,13 @@ msgstr "Leverandør"
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr "Produsent"
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr "Bedriftshandlinger"
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr "Produsentens delenummer"
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr "Parametere"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Leverandører"
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr "Pakkeantall"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr "Mottatt lagerbeholdning"
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr "Rediger Leverandørdel"
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Kategori"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Enheter"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr "Nøkkelord"
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr "Lenke"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "I bestilling"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr "Kan Produsere"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Produseres"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr "Produseres"
msgid "Active"
msgstr "Aktiv"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr "Sammenstilt del"
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr "Sporbar del"
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr "Opprettelsesdato"
@@ -3830,7 +3861,7 @@ msgstr "Opprettelsesdato"
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Prisområde"
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr "Varianter"
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr "Tildelinger"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr "Brukt i"
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr "Produsenter"
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr "Planlegging"
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr "Testmaler"
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr "Relaterte Deler"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr "I bestilling"
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr "Under produksjon"
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr "Rediger del"
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr "Lagerhandlinger"
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr "Tell delbeholdning"
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr "Overfør delbeholdning"
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr "Delhandlinger"
@@ -3933,6 +3967,192 @@ msgstr "Delhandlinger"
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Komponent"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Enhetspris"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr "Total pris"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr "Oppdatert"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr "Dato"
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Måldato"
@@ -4054,10 +4274,6 @@ msgstr "Basisdel"
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr "Tell beholdning"
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Legg til lager"
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Fjern lager"
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr "Overfør"
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Overfør lager"
@@ -4149,21 +4365,11 @@ msgstr "Dupliser lagervare"
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr "Dato"
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Valuta"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Total pris"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr "Legg til filter"
msgid "Clear Filters"
msgstr "Fjern filtre"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Ingen poster funnet"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "Serveren returnerte feil datatype"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Ugyldig forespørsel"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Uautorisert"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Forbudt"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Ikke funnet"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr "Slett valgte oppføringer"
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr "Er du sikker på at du vil slette valgte oppføringer?"
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr "Denne handlingen kan ikke angres!"
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr "Slettede oppføringer"
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr "Oppføringer slettet"
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr "Kunne ikke slette oppføringer"
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Strekkodehandlinger"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Utskriftshandlinger"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Oppdater data"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Tabellfiltre"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr "Denne BOM-artikkelen er definert for en annen overordnet del"
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr "Delinformasjon"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "Ingen lagerbeholdning"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr "Inkluderer erstatningsbeholdning"
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Inkluderer variantbeholdning"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr "Lagerinformasjon"
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Forbruksvare"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr "Vis sporbare deler"
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr "Vis sammenstilte elementer"
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr "Vis elementer med tilgjengelig lagerbeholdning"
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr "Vis elementer i bestilling"
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr "Vis godkjente elementer"
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr "Vis arvede elementer"
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr "Vis valgfrie elementer"
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr "Vis forbruksartikler"
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr "Har prising"
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr "Vis varer med priser"
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:311
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:313
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:328
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:329
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
msgid "View BOM"
msgstr "Vis BOM"
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:344
msgid "Validate BOM line"
msgstr "Godkjenn BOM-linje"
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:352
msgid "Edit Substitutes"
msgstr "Rediger erstatninger"
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
-msgstr "Rediger Bom-artikkel"
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
-#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
-msgstr "BOM-artikkel oppdatert"
-
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr "Slett BOM-artikkel"
-
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr "BOM-artikkel slettet"
-
-#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
-msgstr "Er du sikker på at du vil fjerne dette BOM-elementet?"
-
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr "Vis aktive sammenstillinger"
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Sporbar"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr "Vis sporbare sammenstillinger"
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr "Rediger del-parameter"
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Inkluder underkategorier"
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr "Slett del-parameter"
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr "Legg til parameter"
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Inkluder varianter"
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr "Vis maler med valg"
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Har enheter"
@@ -4872,85 +5106,81 @@ msgstr "Produksjonsordre-tildelinger"
msgid "Sales Order Allocations"
msgstr "Salgsordretildelinger"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Filtrer etter del aktiv-status"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Sammenstilling"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Filtrer etter sammenstillingsattributt"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Inkluder deler i underkategorier"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Komponent"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Filtrer etter komponentattributt"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Filtrer etter sporbar attributt"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Filtrer etter deler som har enheter"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Har IPN"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Filtrer etter deler som har internt delnummer"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Har beholdning"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Filtrer etter deler som har lagerbeholdning"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Filtrer etter deler som har lav lagerbeholdning"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Kjøpbar"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Filtrer etter deler som kan kjøpes"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Salgbar"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Filtrer etter deler som kan selges"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Filtrer etter deler som er virtuelle"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Ikke virtuell"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr "Leverandørlenke"
msgid "Manufacturer Code"
msgstr "Produsentens kode"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Enhetspris"
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr "Destinasjon"
@@ -5371,10 +5597,6 @@ msgstr "MPN"
msgid "Base units"
msgstr "Basisenhet"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Oppdatert"
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr "Legg til leverandørdel"
@@ -5793,52 +6015,52 @@ msgstr "Ekstern plassering"
msgid "Show items in an external location"
msgstr "Vis elementer ved en ekstern plassering"
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po
index 383d6a747d..d01c19d0fb 100644
--- a/src/frontend/src/locales/pl/messages.po
+++ b/src/frontend/src/locales/pl/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pl\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Zalogowano pomyślnie"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Witamy ponownie!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Wiadomość dostarczona"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/pseudo-LOCALE/messages.po b/src/frontend/src/locales/pseudo-LOCALE/messages.po
index bba80168c0..b80ac6db8d 100644
--- a/src/frontend/src/locales/pseudo-LOCALE/messages.po
+++ b/src/frontend/src/locales/pseudo-LOCALE/messages.po
@@ -117,7 +117,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -135,7 +135,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -198,8 +198,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -281,32 +281,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -475,7 +475,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -526,34 +526,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:47
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -570,7 +571,7 @@ msgstr ""
#~ msgstr ""
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -631,7 +632,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -1082,7 +1083,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1095,7 +1096,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1116,8 +1117,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1209,6 +1210,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1216,8 +1218,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1241,7 +1243,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1315,7 +1317,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1329,10 +1331,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:117
+#: src/pages/part/pricing/PriceBreakPanel.tsx:95
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1746,10 +1751,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr ""
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr ""
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr ""
@@ -2038,7 +2039,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2112,7 +2113,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2419,8 +2420,8 @@ msgstr ""
#~ msgstr ""
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2444,8 +2445,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2488,12 +2489,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -3228,7 +3229,7 @@ msgstr ""
#~ msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3262,8 +3263,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr ""
@@ -3281,14 +3280,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3371,14 +3370,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3407,7 +3406,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3482,7 +3481,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3492,7 +3491,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3538,11 +3537,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3550,12 +3550,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:37
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3597,17 +3598,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3621,12 +3622,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3644,54 +3645,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:79
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:111
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3742,88 +3750,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:205
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:229
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:213
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3831,37 +3839,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:257
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:252
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3869,7 +3877,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3877,94 +3885,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:504
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3972,6 +3983,186 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr ""
+#: src/pages/part/PartPricingPanel.tsx:48
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:56
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:62
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:73
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:90
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:85
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:97
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:91
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:118
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:102
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:108
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:85
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:90
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:110
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:137
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:76
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:135
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
+#: src/tables/bom/BomTable.tsx:144
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:146
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:153
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:162
+#: src/pages/part/pricing/VariantPricingPanel.tsx:61
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:211
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:212
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:62
+#: src/pages/part/pricing/PriceBreakPanel.tsx:116
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:75
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:85
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:101
+#: src/pages/part/pricing/PriceBreakPanel.tsx:175
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:48
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:72
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:104
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:125
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:132
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:167
+#: src/pages/part/pricing/VariantPricingPanel.tsx:45
+#: src/pages/part/pricing/VariantPricingPanel.tsx:108
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:172
+#: src/pages/part/pricing/VariantPricingPanel.tsx:53
+#: src/pages/part/pricing/VariantPricingPanel.tsx:113
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:34
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:35
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:49
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:44
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:56
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:140
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:30
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:51
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:99
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:71
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:38
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -4023,7 +4214,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4093,10 +4284,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4162,12 +4349,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4176,7 +4363,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4188,21 +4375,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4284,72 +4461,72 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
@@ -4361,123 +4538,123 @@ msgstr ""
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:172
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:180
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:188
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:197
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:222
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:233
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:253
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:258
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:262
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:266
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:270
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:274
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:282
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:286
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:287
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:298
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:309
msgid "Validate BOM line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:317
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:311
+#: src/tables/bom/BomTable.tsx:331
msgid "Edit Bom Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:313
+#: src/tables/bom/BomTable.tsx:333
msgid "Bom item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
+#: src/tables/bom/BomTable.tsx:348
msgid "Delete Bom Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
+#: src/tables/bom/BomTable.tsx:349
msgid "Bom item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:331
+#: src/tables/bom/BomTable.tsx:351
msgid "Are you sure you want to remove this BOM item?"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4792,14 +4969,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4840,20 +5017,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr ""
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4875,7 +5052,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4911,85 +5088,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5365,10 +5538,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5410,10 +5579,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5832,52 +5997,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/pt-br/messages.po b/src/frontend/src/locales/pt-br/messages.po
index 7607957023..8cacce8450 100644
--- a/src/frontend/src/locales/pt-br/messages.po
+++ b/src/frontend/src/locales/pt-br/messages.po
@@ -77,7 +77,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -95,7 +95,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -158,8 +158,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -241,32 +241,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -416,7 +416,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -467,34 +467,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:47
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -511,7 +512,7 @@ msgstr ""
#~ msgstr ""
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -572,7 +573,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -1011,7 +1012,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1024,7 +1025,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1045,8 +1046,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1138,6 +1139,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1145,8 +1147,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1170,7 +1172,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1244,7 +1246,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1258,10 +1260,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:117
+#: src/pages/part/pricing/PriceBreakPanel.tsx:95
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1671,10 +1676,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr ""
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr ""
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr ""
@@ -1963,7 +1964,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2029,7 +2030,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2272,8 +2273,8 @@ msgstr ""
#~ msgstr ""
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2297,8 +2298,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2341,12 +2342,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2949,7 +2950,7 @@ msgstr ""
#~ msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -2983,8 +2984,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr ""
@@ -3002,14 +3001,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3088,14 +3087,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3124,7 +3123,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3199,7 +3198,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3209,7 +3208,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3255,11 +3254,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3267,12 +3267,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:37
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3314,17 +3315,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3338,12 +3339,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3361,54 +3362,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:79
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:111
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3459,88 +3467,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:205
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:229
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:213
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3548,37 +3556,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:257
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:252
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3586,7 +3594,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3594,97 +3602,280 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:504
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
+#: src/pages/part/PartPricingPanel.tsx:48
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:56
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:62
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:73
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:90
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:85
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:97
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:91
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:118
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:102
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:108
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:85
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:90
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:110
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:137
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:76
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:135
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
+#: src/tables/bom/BomTable.tsx:144
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:146
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:153
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:162
+#: src/pages/part/pricing/VariantPricingPanel.tsx:61
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:211
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:212
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:62
+#: src/pages/part/pricing/PriceBreakPanel.tsx:116
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:75
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:85
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:101
+#: src/pages/part/pricing/PriceBreakPanel.tsx:175
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:48
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:72
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:104
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:125
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:132
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:167
+#: src/pages/part/pricing/VariantPricingPanel.tsx:45
+#: src/pages/part/pricing/VariantPricingPanel.tsx:108
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:172
+#: src/pages/part/pricing/VariantPricingPanel.tsx:53
+#: src/pages/part/pricing/VariantPricingPanel.tsx:113
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:34
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:35
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:49
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:44
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:56
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:140
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:30
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:51
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:99
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:71
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:38
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3736,7 +3927,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -3806,10 +3997,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -3875,12 +4062,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -3889,7 +4076,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -3901,21 +4088,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -3997,72 +4174,72 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
@@ -4074,123 +4251,123 @@ msgstr ""
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:172
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:180
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:188
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:197
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:222
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:233
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:253
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:258
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:262
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:266
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:270
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:274
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:282
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:286
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:287
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:298
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:309
msgid "Validate BOM line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:317
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:311
+#: src/tables/bom/BomTable.tsx:331
msgid "Edit Bom Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:313
+#: src/tables/bom/BomTable.tsx:333
msgid "Bom item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
+#: src/tables/bom/BomTable.tsx:348
msgid "Delete Bom Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
+#: src/tables/bom/BomTable.tsx:349
msgid "Bom item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:331
+#: src/tables/bom/BomTable.tsx:351
msgid "Are you sure you want to remove this BOM item?"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4505,14 +4682,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4553,20 +4730,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr ""
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4588,7 +4765,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4624,85 +4801,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5078,10 +5251,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5123,10 +5292,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5545,52 +5710,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po
index eb99590c97..2daee2f7ee 100644
--- a/src/frontend/src/locales/pt/messages.po
+++ b/src/frontend/src/locales/pt/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-19 03:57\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -32,7 +32,7 @@ msgstr "Escanear código QR"
#: src/components/buttons/SpotlightButton.tsx:11
msgid "Open spotlight"
-msgstr ""
+msgstr "Abrir spotlight"
#: src/components/buttons/YesNoButton.tsx:16
msgid "Pass"
@@ -82,7 +82,7 @@ msgstr "Remover"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Cancelar"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Limpar"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -112,7 +112,7 @@ msgstr "Selecionar de imagens existentes"
#: src/components/details/DetailsImage.tsx:274
msgid "Select Image"
-msgstr ""
+msgstr "Selecionar Imagem"
#: src/components/details/DetailsImage.tsx:286
msgid "Upload new image"
@@ -163,43 +163,43 @@ msgid "Part is virtual (not a physical part)"
msgstr "Peça é virtual (não é física)"
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtual"
#: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9
msgid "Code"
-msgstr ""
+msgstr "Código"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44
msgid "Failed to parse error response from server."
-msgstr ""
+msgstr "Falha ao processar a resposta do servidor."
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82
msgid "Preview not available, click \"Reload Preview\"."
-msgstr ""
+msgstr "Pré-visualização indisponível, clique em \"Recarregar Pré-visualização\"."
#: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9
msgid "PDF Preview"
-msgstr ""
+msgstr "Visualizar PDF"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:114
msgid "Error loading template"
-msgstr ""
+msgstr "Erro ao carregar template"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:126
msgid "Error saving template"
-msgstr ""
+msgstr "Erro ao salvar o template"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:152
msgid "Save & Reload preview?"
-msgstr ""
+msgstr "Salvar e recarregar visualização?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157
msgid "Are you sure you want to Save & Reload the preview?"
-msgstr ""
+msgstr "Tem certeza de que deseja salvar e recarregar a visualização?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:159
msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?"
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Erro no formulário"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Sucesso"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr "Há erros de formulário"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Atualizar"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "Excluir"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Acesso bem-sucedido"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Bem-vindo(a) de volta!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Falha ao acessar"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Verifique sua entrada e tente novamente."
@@ -314,46 +318,45 @@ msgstr "Verifique sua entrada e tente novamente."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Envio de e-mail concluído"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Verifique sua caixa de entrada para o link de acesso. Se você tiver uma conta, você receberá um link de acesso. Também verifique o spam."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Erro de entrada"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr "Ou continue com outros métodos"
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Nome de usuário"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Seu nome de usuário"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Senha"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Sua senha"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Redefinir senha"
@@ -362,73 +365,77 @@ msgstr "Redefinir senha"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Email"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Enviaremos um link para fazer o acesso - se você estiver registrado"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Me envie um e-mail"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Usar nome de usuário e senha"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Entrar"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Enviar E-mail"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Cadastrado com sucesso"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Por favor, confirme seu endereço de e-mail para concluir o registro"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Erro de entrada"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr "Isto será usado para uma confirmação"
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr "Repetir senha"
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Repita a senha"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr "Registrar"
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr "Ou use SSO"
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Não possui uma conta?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr "Voltar ao login"
@@ -440,7 +447,7 @@ msgstr "Servidor"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "Nome: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Estado: <0>funcionário0> ({0}), <1>extensões1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Erro"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Buscar"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Carregando"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Nenhum resultado encontrado"
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Miniatura"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "Leia Mais"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Erro desconhecido"
@@ -871,12 +879,12 @@ msgstr "Versão"
msgid "Server Version"
msgstr "Versão do servidor"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr "Buscar..."
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr "Modelo desconhecido: {model}"
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr "Peça"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "Peças"
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr "Códigos de Projeto"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr "Pedido de Compra"
@@ -1177,8 +1186,8 @@ msgstr "Pedido de Compra"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Pedidos de compra"
@@ -1202,7 +1211,7 @@ msgstr "Pedido de Venda"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Pedidos de vendas"
@@ -1276,7 +1285,7 @@ msgstr "Remessa"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr "Número de Série"
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Quantidade"
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr "Atualizados Recentemente"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Estoque Baixo"
@@ -2073,7 +2081,7 @@ msgstr "Demonstração"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2289,7 +2297,7 @@ msgstr "Categoria de peça parental"
#: src/forms/PurchaseOrderForms.tsx:246
msgid "Choose Location"
-msgstr ""
+msgstr "Escolher local"
#: src/forms/PurchaseOrderForms.tsx:254
msgid "Item Destination selected"
@@ -2380,8 +2388,8 @@ msgstr "Insira o número de série para novo estoque (ou deixe em branco)"
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr "Adicionar Item do Estoque"
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "Em Estoque"
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr "Transferir Estoque"
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr "Contar Estoque"
@@ -2486,38 +2494,50 @@ msgstr "Local de estoque pai"
#~ msgid "See you soon."
#~ msgstr "See you soon."
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
+msgstr ""
+
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Sessão terminada"
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr "Você foi desconectado"
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Verifique sua caixa de entrada para o link de redefinição. Isso só funciona se você tiver uma conta. Cheque no spam também."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "A redefinação falhou"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr "Logado"
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr "Logado"
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr "Encontramos um login existente - bem-vindo de volta!"
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr "Formulário inválido"
msgid "method parameter not supplied"
msgstr "parâmetro do método não fornecido"
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Não implementado"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Esta função ainda não foi implementada"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr "Permissão negada"
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr "Você não tem permissão para realizar esta ação"
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr "Código de retorno inválido"
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr "O servidor retornou o estado {returnCode}"
@@ -2584,11 +2604,11 @@ msgstr "Checando se você já está conectado"
msgid "No selection"
msgstr "Nada selecionado"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Bem-vindo(a), acesse abaixo"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr "Registre-se abaixo"
@@ -2596,6 +2616,10 @@ msgstr "Registre-se abaixo"
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr "Reportar"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr "Lista de Materiais"
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr "Códigos de barras"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Preços"
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr "Relatórios"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr "Balanço"
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr "Ordens de Produções"
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr "Pedido de Produção Filhos"
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr "Anexos"
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Fornecedor"
@@ -3511,12 +3534,13 @@ msgstr "Fornecedor"
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr "Fabricante"
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr "Ações da Empresa"
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr "Número de Peça do Fabricante"
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr "Parâmetros"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Fornecedores"
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr "Peça do Fabricante"
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr "Quantidade de embalagens"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr "Estoque Recebido"
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr "Editar Peça do Fornecedor"
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr "Variante de"
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Categoria"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr "Local Padrão"
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr "Revisão"
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Unidades"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr "Palavras-chave"
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr "Link"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr "Estoque Disponível"
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr "Estoque Mínimo"
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "No pedido"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr "Alocado para Pedidos de Construção"
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr "Alocado para Pedidos de Venda"
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr "Pode Produzir"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Produzindo"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr "Produzindo"
msgid "Active"
msgstr "Ativo"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr "Peça Montada"
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr "Peça Rastreável"
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr "Criado em"
@@ -3830,7 +3861,7 @@ msgstr "Criado em"
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr "Fornecedor Padrão"
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr "Fornecedor Padrão"
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Faixa de Preço"
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr "Último Balanço"
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr "Variantes"
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr "Alocações"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr "Usado em"
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr "Fabricantes"
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr "Agendamento"
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr "Testar Modelos"
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr "Peças Relacionadas"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr "No pedido"
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr "Em Produção"
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr "Editar Peça"
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr "Ações de Estoque"
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr "Contagem do estoque"
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr "Transferir estoque de peça"
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr "Ações da Peça"
@@ -3933,6 +3967,192 @@ msgstr "Ações da Peça"
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Componente"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Preço Unitário"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr "Preço Total"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr "Atualizado"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr "Data"
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Data Prevista"
@@ -4054,10 +4274,6 @@ msgstr "Peça base"
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr "Contagem de estoque"
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Adicionar estoque"
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Remover estoque"
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr "Transferir"
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Transferir estoque"
@@ -4149,21 +4365,11 @@ msgstr "Duplicar item de estoque"
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr "Data"
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Moeda"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Preço Total"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr "Adicionar Filtro"
msgid "Clear Filters"
msgstr "Limpar Filtros"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Nenhum registro encontrado"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "O servidor retornou um tipo de dado incorreto"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Requisição inválida"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Não autorizado"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Proibido"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Não encontrado"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr "Remover registros selecionados"
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr "Tem certeza que deseja apagar os registros selecionados?"
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr "Essa ação não pode ser desfeita!"
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr "Registos removidos"
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr "Registros foram removidos com sucesso"
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr "Falha ao remover registros"
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Ações de código de barras"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Ações de impressão"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Atualizar dados"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Filtros da Tabela"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr "Este item da BOM é definido para um pai diferente"
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr "Informação da Peça"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "Sem Estoque"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr "Incluir estoque de substitutos"
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Incluir estoque de variantes"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr "Informação do Estoque"
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Item Consumível"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr "Mostrar itens rastreáveis"
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr "Exibir itens montados"
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr "Mostrar itens com estoque disponível"
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr "Mostrar itens no pedido"
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr "Mostrar itens validados"
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr "Mostrar itens herdados"
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr "Mostrar itens opcionais"
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr "Mostrar itens consumíveis"
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr "Tem Preço"
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr "Exibir itens com preço"
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:311
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:313
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:328
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:329
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
msgid "View BOM"
msgstr "Ver BOM"
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:344
msgid "Validate BOM line"
msgstr "Validar linha da BOM"
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:352
msgid "Edit Substitutes"
msgstr "Editar substitutos"
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
-msgstr "Editar Item da BOM"
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
-#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
-msgstr "Item da BOM atualizado"
-
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr "Apagar Item da BOM"
-
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr "Item da BOM apagado"
-
-#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
-msgstr "Tem certeza que deseja remover este item da BOM?"
-
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr "Mostrar montagens ativas"
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Rastreável"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr "Mostrar montagens rastreáveis"
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr "Editar Parâmetro da Peça"
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Incluir Subcategorias"
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr "Novo Parâmetro de Peça"
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr "Apagar Parâmetro da Peça"
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr "Adiciona parâmetro"
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Incluir Variantes"
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr "Mostrar modelos com escolhas"
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Possui unidades"
@@ -4872,85 +5106,81 @@ msgstr "Alocações de Pedido de Produção"
msgid "Sales Order Allocations"
msgstr "Alocações do Pedido de Vendas"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Filtrar por peça em estado ativo"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Montagem"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Filtrar por atributo de montagem"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Incluir peças em subcategorias"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Componente"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Filtrar por atributo do componente"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Filtrar por atributo rastreável"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Filtrar por peças que têm unidades"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Tem IPN"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Filtrar por partes que tenham um número de peça interna"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Tem estoque"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Filtrar por peças que têm estoque"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Filtrar por peças que tenham estoque baixo"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Comprável"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Filtrar por peças que são compráveis"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Vendível"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Filtrar por peças que são vendíveis"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Filtrar por peças que são virtuais"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Não é Virtual"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr "Link do Fornecedor"
msgid "Manufacturer Code"
msgstr "Código do Fabricante"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Preço Unitário"
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr "Destino"
@@ -5371,10 +5597,6 @@ msgstr "MPN"
msgid "Base units"
msgstr "Unidade base"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Atualizado"
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr "Adicionar Peça do Fornecedor"
@@ -5793,52 +6015,52 @@ msgstr "Localização Externa"
msgid "Show items in an external location"
msgstr "Mostrar itens com localização externa"
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po
index 6c5f1697f4..70ee913adf 100644
--- a/src/frontend/src/locales/ru/messages.po
+++ b/src/frontend/src/locales/ru/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ru\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
@@ -82,7 +82,7 @@ msgstr "Удалить"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Отменить"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Очистить"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Ошибка формы"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Успешно"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr "Форма содержит ошибки"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Обновить"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "Удалить"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Вы вошли"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "С возвращением!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Ошибка входа"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Проверьте введенные данные и повторите попытку."
@@ -314,46 +318,45 @@ msgstr "Проверьте введенные данные и повторите
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Отправка почты прошла успешно"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Проверьте свой почтовый ящик на наличие ссылки для входа в систему. Если у вас есть учетная запись, вы получите ссылку для входа в систему. Проверьте также спам."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Ошибка ввода"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Имя пользователя"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Имя пользователя"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Пароль"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Ваш пароль"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Сбросить пароль"
@@ -362,73 +365,77 @@ msgstr "Сбросить пароль"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Электронная почта"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Мы вышлем вам ссылку для входа - если вы зарегистрированы"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Отправьте мне электронное письмо"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Имя пользователя и пароль"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Войти"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Отправить email"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Регистрация выполнена успешно"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Пожалуйста, подтвердите адрес электронной почты для завершения регистрации"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Ошибка ввода"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr "Это будет использовано для подтверждения"
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr "Повторите пароль"
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Введите пароль еще раз"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr "Регистрация"
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Нет аккаунта?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr "Вернуться к логину"
@@ -440,7 +447,7 @@ msgstr "Узел"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "Название: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Состояние: <0>рабочий 0> ({0}), <1>плагины1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Ошибка"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Поиск"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Загрузка"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Ничего не найдено"
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Миниатюра"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "Подробнее"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Неизвестная ошибка"
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr "Неизвестная модель: {model}"
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "Детали"
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Заказы на закупку"
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Заказы на продажу"
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Проверьте свой почтовый ящик, чтобы получить ссылку на сброс. Это работает только в том случае, если у вас есть учетная запись. Проверьте также спам."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Добро пожаловать, войдите ниже"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr "Заказы на сборку"
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr "Добавить фильтр"
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po
index 469076ba22..abecf69e3c 100644
--- a/src/frontend/src/locales/sk/messages.po
+++ b/src/frontend/src/locales/sk/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: sk\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po
index 94d3210458..e68a078b5a 100644
--- a/src/frontend/src/locales/sl/messages.po
+++ b/src/frontend/src/locales/sl/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: sl\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po
index 2520b2f1bd..b86668b096 100644
--- a/src/frontend/src/locales/sr/messages.po
+++ b/src/frontend/src/locales/sr/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: sr\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:36\n"
"Last-Translator: \n"
"Language-Team: Serbian (Latin)\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Greška Obrasca"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Uspešno"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr "Postoji greška obrasca"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Obnovi"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "Obriši"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Prijava uspešna"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Dobrodošli!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Neuspešna prijava"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Proverite svoj unos i pokušajte ponovno."
@@ -314,46 +318,45 @@ msgstr "Proverite svoj unos i pokušajte ponovno."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Isporuka pošte uspešna"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Proverite svoj inbox za link za prijavu. Ako imate račun, dobićete link za prijavu. Proverite i spam."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Greška unosa"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Korisničko ime"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Lozinka"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Vaša lozinka"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Resetujte lozinku"
@@ -362,73 +365,77 @@ msgstr "Resetujte lozinku"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "E-pošta"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Poslaćemo vam link za prijavu - ako ste registrirani"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Pošalji mi e-poštu"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Prijavite se"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Pošalji e-poštu"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Greška unosa"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr "Host"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "Naziv: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Status: <0>worker0> ({0}), <1>plugins1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Grеška"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Pretraga"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Učitavanje"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Nema pronađenih rezultata"
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Sličice"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "Saznaj više"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Nepoznata greška"
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Dobrodošli, prijavite se ispod"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po
index abda0f4cb2..df3df8a8ae 100644
--- a/src/frontend/src/locales/sv/messages.po
+++ b/src/frontend/src/locales/sv/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: sv\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Avbryt"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Rensa"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuell"
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "Radera"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Inlogningen lyckad"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Välkommen tillbaka!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Inloggningen misslyckades"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Kontrollera din inmatning och försök igen."
@@ -314,46 +318,45 @@ msgstr "Kontrollera din inmatning och försök igen."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "E-postleverans lyckad"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Kolla din inkorg för inloggningslänken. Om du har ett konto kommer du att få en inloggningslänk. Kolla in spam också."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Inmatningsfel"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Användarnamn"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Ditt användarnamn"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Lösenord"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Ditt lösenord"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Återställ lösenord"
@@ -362,73 +365,77 @@ msgstr "Återställ lösenord"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "E-post"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Vi skickar en länk till dig för att logga in - om du är registrerad"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Skicka ett e-postmeddelande"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Använd användarnamn och lösenord"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Logga in"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Bekräfta din e-postadress för att slutföra registreringen"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Inmatningsfel"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Upprepa lösenord"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr "Eller använd SSO"
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Har du inget konto?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr "Värd"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "Namn: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Fel"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Sök"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Inga resultat hittades"
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Miniatyrbild"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "Läs mer"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Okänt fel"
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr "Sök..."
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr "Artkel"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "Artiklar"
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr "Projektkoder"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Inköpsorder"
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Försäljningsorder"
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Antal"
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr "Senast uppdaterade"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Få i lager"
@@ -2073,7 +2081,7 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
+msgstr ""
+
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Utloggningen lyckad"
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr "Du har blivit utloggad"
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Kolla din inkorg för en återställningslänk. Detta fungerar bara om du har ett konto. Kontrollera även i skräppost."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Återställningen misslyckades"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Inte implementerad"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Denna funktionen har inte implementerats"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr "Kontrollerar om du redan är inloggad"
msgid "No selection"
msgstr "Inget val"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Välkommen, logga in nedan"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr "Streckkoder"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr "Byggordrar"
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr "Parametrar"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Kategori"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr "IAN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Enheter"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr "Länk"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr "Aktiv"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Prisintervall"
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Komponent"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Valuta"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr "Lägg till filter"
msgid "Clear Filters"
msgstr "Rensa filter"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Inga resultat hittades"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Felaktig begäran"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Ej behörig"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Otillåten"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Hittades inte"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Streckkods åtgärder"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Skriv ut åtgärder"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Uppdatera data"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Tabellfilter"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Spårbart objekt"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Inkludera underkategorier"
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Har enheter"
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Filtrera på aktiv artiklestatus"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Montering"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Filtrera efter monteringsattribut"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Inkludera artiklar från underkategorier"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Komponent"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Filtrera efter komponentattribut"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Filtrera på spårbart attribut"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Filtrera efter artiklar som har enheter"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Har IAN"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Filtrera efter artiklar som har ett internt artikelnummer"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "I lager"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Filtrera efter artiklar som har enheter"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Filtrera på ariklar som har lågt saldo"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Kan köpas"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Filtrera på artiklar som kan köpas"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Försäljningsbar"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Filtrera på artiklar som kan säljas"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Filtrera efter artiklar som är virtuella"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Inte virtuell"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po
index e1ba5f7f50..6a102a198a 100644
--- a/src/frontend/src/locales/th/messages.po
+++ b/src/frontend/src/locales/th/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: th\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po
index 3be222bde4..69ae9d94f0 100644
--- a/src/frontend/src/locales/tr/messages.po
+++ b/src/frontend/src/locales/tr/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: tr\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Vazgeç"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Sanal"
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Başarılı"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Oturum açıldı"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Tekrar Hoş Geldiniz!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Giriş başarısız"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Lütfen bilgilerinizi kontrol edin ve yeniden giriş yapın."
@@ -314,46 +318,45 @@ msgstr "Lütfen bilgilerinizi kontrol edin ve yeniden giriş yapın."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "E-posta teslimi başarılı"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Gelen kutunuzu kontrol edin. Eğer hesabınız varsa giriş yapabilmeniz için bir link alacaksınız. Spam klasörünüzü de kontrol edin."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Hatalı giriş"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Kullanıcı Adı"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Parola"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Parolanız"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Parolayı sıfırla"
@@ -362,73 +365,77 @@ msgstr "Parolayı sıfırla"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "E-posta"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Size giriş yapabilmeniz için bir link göndereceğiz - eğer kayıtlıysanız"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Bize bir eposta gönderin"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Hatalı giriş"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr "Sunucu"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "İsim: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Durum: <0>worker0> ({0}), <1>eklenti1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Hata"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Yükleniyor"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Küçük resim"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "Devamını Oku"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Bilinmeyen hata"
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr "Parça"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "Parçalar"
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Satın Alma Emirleri"
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Satış Emirleri"
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Miktar"
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr "Son Güncellenenler"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Düşük Stok"
@@ -2073,7 +2081,7 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Çıkış başarılı"
-
-#: src/functions/auth.tsx:71
-msgid "You have been logged out"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
+#: src/functions/auth.tsx:71
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
+
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr "Zaten giriş yapıp yapmadığınız kontrol ediliyor"
msgid "No selection"
msgstr "Seçim yok"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Hoşgeldiniz, aşağıdan giriş yapın"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr "Yapım İşi Emirleri"
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Kategori"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr "DPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Birim"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr "Bağlantı"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr "Aktif"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Fiyat Aralığı"
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Bileşen"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr "Filtre Ekle"
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Hiç kayıt bulunamadı"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Hatalı istek"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Yetkisiz"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Yasaklı"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Bulunamadı"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Barkod işlemleri"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Yazdırma işlemleri"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Veriyi yenile"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Tablo filtreleri"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Takip Edilebilir"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Alt Kategorileri Dahil Et"
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Birimi Var"
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Parçanın aktiflik durumuna göre filtrele"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Montaj"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Montaj niteliğine göre filtrele"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Alt kategorilerdeki parçaları dahil et"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Bileşen"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Bileşen niteliğine göre filtrele"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Takip edilebilirliğine göre filtrele"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Birimi olan parçaları filtrele"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "DPN Var"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Dahili parça numarası bulunan parçaları filtrele"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Stoğu Var"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Stoğu olan parçaları filtrele"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Düşük stoğu olan parçaları filtrele"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Satın Alınabilir"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Satın alınabilir parçaları filtrele"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Satılabilir"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Satılabilir parçaları filtrele"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Sanal parçaları filtrele"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Sanal Değil"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po
index 4336b934cf..3f8867f728 100644
--- a/src/frontend/src/locales/vi/messages.po
+++ b/src/frontend/src/locales/vi/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: vi\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Hủy bỏ"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Ảo"
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Lỗi form"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Thành công"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr "Từ các lỗi hiện hữu"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Cập nhật"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr "Xóa"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Đăng nhập thành công"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Chào mừng bạn đã trở lại!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Đăng nhập thất bại"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Kiểm tra đầu vào của bạn và thử lại."
@@ -314,46 +318,45 @@ msgstr "Kiểm tra đầu vào của bạn và thử lại."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Thư đã được gửi đi thành công"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Kiểm tra hộp thư để nhận liên kết đăng nhập. Nếu bạn đã có tài khoản, bạn sẽ nhận một liên kết đăng nhập. Kiểm tra đồng thời thư mục spam."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Lỗi đầu vào"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr "Hoặc tiếp tục với phương thức khác"
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Tên người dùng"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Tên người dùng của bạn"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Mật khẩu"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Mật khẩu của bạn"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Đặt lại mật khẩu"
@@ -362,73 +365,77 @@ msgstr "Đặt lại mật khẩu"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Địa chỉ email"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Chúng tôi sẽ gửi bạn 1 liên kết để đăng nhập - nếu bạn đã đăng ký"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Gửi email cho chúng tôi"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Dùng tên đăng nhập và mật khẩu"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Đăng nhập"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Gửi email"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Đăng kí thành công"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Vui xác nhận địa chỉ email của bạn để hoàn thành việc đăng ký"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Lỗi đầu vào"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr "Host"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr "Tên: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Trạng thái: <0>worker0> ({0}), <1>plugins1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr "Lỗi"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Tìm kiếm"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Đang tải"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Không có kết quả nào được tìm thấy"
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Ảnh thu nhỏ"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr "Xem thêm"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Lỗi không xác định"
@@ -871,12 +879,12 @@ msgstr "Phiên bản"
msgid "Server Version"
msgstr "Phiên bản máy chủ"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr "Model không rõ: {model}"
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr "Phụ kiện"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr "Phụ tùng"
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr "Mã dự án"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr "Đơn đặt mua"
@@ -1177,8 +1186,8 @@ msgstr "Đơn đặt mua"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Đơn hàng mua"
@@ -1202,7 +1211,7 @@ msgstr "Đơn đặt bán"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Đơn hàng bán"
@@ -1276,7 +1285,7 @@ msgstr "Lô hàng"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Số lượng"
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr "Mới Cập Nhật"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Còn ít hàng"
@@ -2073,7 +2081,7 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr "Điền số sê-ri cho kho mới (hoặc để trống)"
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "Còn hàng"
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Đăng xuất thành công"
-
-#: src/functions/auth.tsx:71
-msgid "You have been logged out"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
+#: src/functions/auth.tsx:71
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
+
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Kiểm tra hộp thư để lấy liên kết đặt lại. Việc này chỉ có tác dụng khi bạn có tài khoản. Cần kiểm tra thư mục Spam/Junk."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Thiết lập lại thất bại"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr "Mẫu không hợp lệ"
msgid "method parameter not supplied"
msgstr "tham số phương thức không được cung cấp"
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Chưa triển khai"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Tính năng này vẫn chưa được triển khai"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr "Quyền truy cập bị từ chối"
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr "Bạn không có quyền thực hiện hành động này"
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr "Mã trả hàng không hợp lệ"
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr "Mã phản hồi của máy chủ {returnCode}"
@@ -2584,11 +2604,11 @@ msgstr "Đang kiểm tra trạng thái đăng nhập của bạn"
msgid "No selection"
msgstr "Không có lựa chọn"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Chào bạn, đăng nhập bên dưới"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr "Hóa đơn nguyên vật liệu"
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr "Mã vạch"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Giá bán"
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr "Báo cáo"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr "Kiểm kê"
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr "Đơn đặt bản dựng"
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr "Đơn đặt bản dựng con"
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr "Đính kèm"
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Nhà cung cấp"
@@ -3511,12 +3534,13 @@ msgstr "Nhà cung cấp"
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr "Nhà sản xuất"
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr "Thông số"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Nhà cung cấp"
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr "Số lượng gói"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr "Sửa sản phẩm nhà cung cấp"
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Danh mục"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Đơn vị"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr "Liên kết"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr "Hoạt động"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Khoảng giá"
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr "Biến thể"
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr "Phân bổ"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr "Sử dụng trong"
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr "Mẫu thử nghiệm"
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr "Phụ kiện liên quan"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr "On Order"
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr "Sửa phụ kiện"
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Thành phần"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Đơn giá"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr "Đã cập nhật"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Ngày mục tiêu"
@@ -4054,10 +4274,6 @@ msgstr "Sản phẩm cơ bản"
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr "Đếm hàng"
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Thêm hàng"
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Xóa hàng"
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr "Chuyển"
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Chuyển giao hàng"
@@ -4149,21 +4365,11 @@ msgstr "Nhân bản mặt hàng"
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr "Thêm bộ lọc"
msgid "Clear Filters"
msgstr "Xóa bộ lọc"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Không tìm thấy biểu ghi"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Yêu cầu không hợp lệ"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Chưa cấp quyền"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Bị cấm"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Không tìm thấy"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Chức năng mã vạch"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Chức năng in ấn"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Làm mới dữ liệu"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Bộ lọc bảng"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Có thể theo dõi"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr "Sửa tham số phụ kiện"
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Bao gồm danh mục con"
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr "Xóa tham số phụ kiện"
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Bao gồm các biến thể"
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Có đơn vị"
@@ -4872,85 +5106,81 @@ msgstr "Phân bổ đơn hàng bản dựng"
msgid "Sales Order Allocations"
msgstr "Phân bổ đơn hàng bán"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Lọc theo trạng thái mở phụ kiện"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Lắp ráp"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Lọc theo thuộc tính lắp ráp"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Bao gồm phụ kiên trong danh mục con"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Thành phần"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Lọc theo thuộc tính thành phần"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Lọc theo thuộc tính có thể theo dõi"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Lọc theo phụ kiện có chứa đơn vị"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Có IPN"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Lọc theo sản phẩm có số sản phẩm nội bộ"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Có kho"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Lọc theo sản phẩm có trong kho"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Lọc theo sản phẩm có ít hàng"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Có thể mua"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Lọc theo sản phẩm có thể mua"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Có thể bán"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Lọc theo sản phẩm có thể bán"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Lọc theo sản phẩm ảo"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Không ảo"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr "Liên kết nhà cung cấp"
msgid "Manufacturer Code"
msgstr "Mã nhà sản xuất"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Đơn giá"
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr "Đích đến"
@@ -5371,10 +5597,6 @@ msgstr "MPN"
msgid "Base units"
msgstr "Đơn vị cơ sở"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Đã cập nhật"
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr "Thêm sản phẩm nhà cung cấp"
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/zh-hans/messages.po b/src/frontend/src/locales/zh-hans/messages.po
index 9e32f1c1ca..1866a4e446 100644
--- a/src/frontend/src/locales/zh-hans/messages.po
+++ b/src/frontend/src/locales/zh-hans/messages.po
@@ -77,7 +77,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -95,7 +95,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -158,8 +158,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -241,32 +241,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -416,7 +416,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -467,34 +467,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:47
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -511,7 +512,7 @@ msgstr ""
#~ msgstr ""
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -572,7 +573,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -1011,7 +1012,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1024,7 +1025,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1045,8 +1046,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1138,6 +1139,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1145,8 +1147,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1170,7 +1172,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1244,7 +1246,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1258,10 +1260,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:117
+#: src/pages/part/pricing/PriceBreakPanel.tsx:95
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1671,10 +1676,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr ""
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr ""
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr ""
@@ -1963,7 +1964,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2029,7 +2030,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2272,8 +2273,8 @@ msgstr ""
#~ msgstr ""
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2297,8 +2298,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2341,12 +2342,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2949,7 +2950,7 @@ msgstr ""
#~ msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -2983,8 +2984,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr ""
@@ -3002,14 +3001,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3088,14 +3087,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3124,7 +3123,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3199,7 +3198,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3209,7 +3208,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3255,11 +3254,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3267,12 +3267,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:37
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3314,17 +3315,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3338,12 +3339,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3361,54 +3362,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:79
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:111
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3459,88 +3467,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:205
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:229
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:213
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3548,37 +3556,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:257
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:252
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3586,7 +3594,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3594,97 +3602,280 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:504
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
+#: src/pages/part/PartPricingPanel.tsx:48
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:56
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:62
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:73
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:90
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:85
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:97
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:91
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:118
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:102
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:108
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:85
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:90
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:110
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:137
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:76
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:135
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
+#: src/tables/bom/BomTable.tsx:144
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:146
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:153
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:162
+#: src/pages/part/pricing/VariantPricingPanel.tsx:61
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:211
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:212
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:62
+#: src/pages/part/pricing/PriceBreakPanel.tsx:116
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:75
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:85
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:101
+#: src/pages/part/pricing/PriceBreakPanel.tsx:175
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:48
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:72
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:104
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:125
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:132
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:167
+#: src/pages/part/pricing/VariantPricingPanel.tsx:45
+#: src/pages/part/pricing/VariantPricingPanel.tsx:108
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:172
+#: src/pages/part/pricing/VariantPricingPanel.tsx:53
+#: src/pages/part/pricing/VariantPricingPanel.tsx:113
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:34
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:35
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:49
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:44
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:56
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:140
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:30
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:51
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:99
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:71
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:38
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3736,7 +3927,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -3806,10 +3997,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -3875,12 +4062,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -3889,7 +4076,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -3901,21 +4088,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -3997,72 +4174,72 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
@@ -4074,123 +4251,123 @@ msgstr ""
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:172
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:180
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:188
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:197
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:222
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:233
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:253
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:258
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:262
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:266
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:270
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:274
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:282
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:286
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:287
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:298
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:309
msgid "Validate BOM line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:317
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:311
+#: src/tables/bom/BomTable.tsx:331
msgid "Edit Bom Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:313
+#: src/tables/bom/BomTable.tsx:333
msgid "Bom item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
+#: src/tables/bom/BomTable.tsx:348
msgid "Delete Bom Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
+#: src/tables/bom/BomTable.tsx:349
msgid "Bom item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:331
+#: src/tables/bom/BomTable.tsx:351
msgid "Are you sure you want to remove this BOM item?"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4505,14 +4682,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4553,20 +4730,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr ""
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4588,7 +4765,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4624,85 +4801,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5078,10 +5251,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5123,10 +5292,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5545,52 +5710,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/zh-hant/messages.po b/src/frontend/src/locales/zh-hant/messages.po
index 414e0cdd7b..0ede629147 100644
--- a/src/frontend/src/locales/zh-hant/messages.po
+++ b/src/frontend/src/locales/zh-hant/messages.po
@@ -77,7 +77,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -95,7 +95,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -158,8 +158,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -241,32 +241,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -416,7 +416,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -467,34 +467,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:47
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -511,7 +512,7 @@ msgstr ""
#~ msgstr ""
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
@@ -572,7 +573,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -1011,7 +1012,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1024,7 +1025,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1045,8 +1046,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1138,6 +1139,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:41
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1145,8 +1147,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1170,7 +1172,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1244,7 +1246,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1258,10 +1260,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:117
+#: src/pages/part/pricing/PriceBreakPanel.tsx:95
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1671,10 +1676,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr ""
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr ""
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr ""
@@ -1963,7 +1964,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2029,7 +2030,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2272,8 +2273,8 @@ msgstr ""
#~ msgstr ""
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2297,8 +2298,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2341,12 +2342,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2949,7 +2950,7 @@ msgstr ""
#~ msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -2983,8 +2984,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr ""
@@ -3002,14 +3001,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3088,14 +3087,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3124,7 +3123,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3199,7 +3198,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3209,7 +3208,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3255,11 +3254,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3267,12 +3267,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:37
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3314,17 +3315,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3338,12 +3339,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3361,54 +3362,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:79
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:111
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3459,88 +3467,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:205
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:229
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:213
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3548,37 +3556,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:257
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:252
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3586,7 +3594,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3594,97 +3602,280 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:504
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
+#: src/pages/part/PartPricingPanel.tsx:48
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:56
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:62
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:73
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:90
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:85
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:97
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:91
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:118
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:102
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:108
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:85
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:90
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:110
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:137
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:76
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:135
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:66
+#: src/tables/bom/BomTable.tsx:144
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:146
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:153
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:162
+#: src/pages/part/pricing/VariantPricingPanel.tsx:61
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:211
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:212
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:62
+#: src/pages/part/pricing/PriceBreakPanel.tsx:116
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:75
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:85
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:101
+#: src/pages/part/pricing/PriceBreakPanel.tsx:175
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:48
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:72
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:104
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:125
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:132
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:167
+#: src/pages/part/pricing/VariantPricingPanel.tsx:45
+#: src/pages/part/pricing/VariantPricingPanel.tsx:108
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:172
+#: src/pages/part/pricing/VariantPricingPanel.tsx:53
+#: src/pages/part/pricing/VariantPricingPanel.tsx:113
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:34
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:35
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:49
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:44
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:56
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:140
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:30
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:51
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:99
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:71
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:38
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3736,7 +3927,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -3806,10 +3997,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -3875,12 +4062,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -3889,7 +4076,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -3901,21 +4088,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -3997,72 +4174,72 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
@@ -4074,123 +4251,123 @@ msgstr ""
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:172
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:180
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:188
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:197
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:222
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:233
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:253
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:258
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:262
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:266
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:270
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:274
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:282
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:286
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:287
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:298
msgid "View BOM"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:309
msgid "Validate BOM line"
msgstr ""
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:317
msgid "Edit Substitutes"
msgstr ""
-#: src/tables/bom/BomTable.tsx:311
+#: src/tables/bom/BomTable.tsx:331
msgid "Edit Bom Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:313
+#: src/tables/bom/BomTable.tsx:333
msgid "Bom item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
+#: src/tables/bom/BomTable.tsx:348
msgid "Delete Bom Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
+#: src/tables/bom/BomTable.tsx:349
msgid "Bom item deleted"
msgstr ""
-#: src/tables/bom/BomTable.tsx:331
+#: src/tables/bom/BomTable.tsx:351
msgid "Are you sure you want to remove this BOM item?"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4505,14 +4682,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4553,20 +4730,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr ""
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4588,7 +4765,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4624,85 +4801,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5078,10 +5251,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5123,10 +5292,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5545,52 +5710,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/locales/zh/messages.po b/src/frontend/src/locales/zh/messages.po
index e246f90c1e..a554cf25e8 100644
--- a/src/frontend/src/locales/zh/messages.po
+++ b/src/frontend/src/locales/zh/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: zh\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-18 03:35\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "取消"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:516
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -163,8 +163,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +246,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:131
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:378
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:453
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:553
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:573
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +286,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +318,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "使用者帳號"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "密碼"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +365,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "註冊成功"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +447,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:122
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +498,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:277
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
#: src/tables/stock/StockItemTestResultTable.tsx:321
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "搜尋"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "找不到結果"
@@ -535,7 +543,7 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "縮圖"
@@ -596,7 +604,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +879,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1043,7 +1051,7 @@ msgstr ""
#: src/forms/StockForms.tsx:651
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/part/PartDetail.tsx:767
#: src/tables/part/RelatedPartTable.tsx:45
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
@@ -1056,7 +1064,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:633
msgid "Parts"
msgstr ""
@@ -1077,8 +1085,8 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
+#: src/pages/company/SupplierPartDetail.tsx:185
+#: src/pages/company/SupplierPartDetail.tsx:294
#: src/pages/stock/StockDetail.tsx:161
#: src/tables/purchasing/SupplierPartTable.tsx:63
msgid "Supplier Part"
@@ -1170,6 +1178,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
msgid "Purchase Order"
msgstr ""
@@ -1177,8 +1186,8 @@ msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/SupplierPartDetail.tsx:219
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1202,7 +1211,7 @@ msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/part/PartDetail.tsx:572
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1276,7 +1285,7 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:488
#: src/pages/stock/LocationDetail.tsx:289
#: src/pages/stock/StockDetail.tsx:343
#: src/tables/stock/StockItemTable.tsx:57
@@ -1290,10 +1299,13 @@ msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
#: src/pages/stock/StockDetail.tsx:139
#: src/pages/stock/StockDetail.tsx:455
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1719,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2007,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2073,7 +2081,7 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
+#: src/pages/company/SupplierPartDetail.tsx:278
#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
@@ -2380,8 +2388,8 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
@@ -2405,8 +2413,8 @@ msgstr ""
#: src/forms/StockForms.tsx:573
#: src/forms/StockForms.tsx:615
#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/pages/part/PartDetail.tsx:208
+#: src/pages/part/PartDetail.tsx:649
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
@@ -2449,12 +2457,12 @@ msgid "Remove Stock"
msgstr ""
#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/pages/part/PartDetail.tsx:725
msgid "Transfer Stock"
msgstr ""
#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/pages/part/PartDetail.tsx:714
msgid "Count Stock"
msgstr ""
@@ -2486,38 +2494,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2555,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2604,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2616,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3189,7 +3213,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:513
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3247,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,14 +3264,14 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:584
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
#: src/pages/build/BuildDetail.tsx:360
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
+#: src/pages/part/PartDetail.tsx:520
#: src/pages/sales/SalesOrderDetail.tsx:213
msgid "Build Orders"
msgstr ""
@@ -3332,14 +3354,14 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:96
#: src/pages/company/CompanyDetail.tsx:84
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:78
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
+#: src/pages/part/PartDetail.tsx:129
#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
#: src/pages/sales/ReturnOrderDetail.tsx:69
#: src/pages/sales/SalesOrderDetail.tsx:73
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3368,7 +3390,7 @@ msgid "Issued By"
msgstr ""
#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
+#: src/pages/part/PartDetail.tsx:321
#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
#: src/pages/sales/ReturnOrderDetail.tsx:156
#: src/pages/sales/SalesOrderDetail.tsx:160
@@ -3443,7 +3465,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:258
#: src/pages/company/CompanyDetail.tsx:244
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
+#: src/pages/part/PartDetail.tsx:606
#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
#: src/pages/sales/ReturnOrderDetail.tsx:199
#: src/pages/sales/SalesOrderDetail.tsx:223
@@ -3453,7 +3475,7 @@ msgstr ""
#: src/pages/build/BuildDetail.tsx:270
#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
+#: src/pages/part/PartDetail.tsx:618
#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
#: src/pages/sales/ReturnOrderDetail.tsx:211
#: src/pages/sales/SalesOrderDetail.tsx:235
@@ -3499,11 +3521,12 @@ msgstr ""
#: src/pages/company/CompanyDetail.tsx:119
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
+#: src/pages/company/SupplierPartDetail.tsx:102
+#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:282
#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
@@ -3511,12 +3534,13 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:117
msgid "Manufacturer"
msgstr ""
#: src/pages/company/CompanyDetail.tsx:131
#: src/pages/company/CustomerDetail.tsx:8
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
#: src/pages/sales/ReturnOrderDetail.tsx:63
#: src/pages/sales/SalesOrderDetail.tsx:67
#: src/pages/stock/StockDetail.tsx:218
@@ -3558,17 +3582,17 @@ msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:71
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:85
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:126
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3606,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:482
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:553
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,54 +3629,61 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:92
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:110
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
+#: src/pages/company/SupplierPartDetail.tsx:138
+#: src/pages/company/SupplierPartDetail.tsx:189
#: src/pages/stock/StockDetail.tsx:232
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
+#: src/pages/company/SupplierPartDetail.tsx:145
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
#: src/tables/purchasing/SupplierPartTable.tsx:120
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:156
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:190
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:199
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
+#: src/pages/company/SupplierPartDetail.tsx:205
#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:229
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:244
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
+#: src/pages/company/SupplierPartDetail.tsx:270
#: src/tables/purchasing/SupplierPartTable.tsx:190
msgid "Edit Supplier Part"
msgstr ""
@@ -3703,88 +3734,88 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:135
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:142
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:148
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:155
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:162
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:169
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:176
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:183
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
+#: src/pages/part/PartDetail.tsx:190
#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
#: src/pages/sales/ReturnOrderDetail.tsx:122
#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:202
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:214
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:220
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:229
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:240
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:250
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:257
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:266
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
@@ -3792,37 +3823,37 @@ msgstr ""
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:271
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:276
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:281
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:286
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:291
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:296
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:301
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:309
msgid "Creation Date"
msgstr ""
@@ -3830,7 +3861,7 @@ msgstr ""
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
+#: src/pages/part/PartDetail.tsx:314
msgid "Created By"
msgstr ""
@@ -3838,94 +3869,97 @@ msgstr ""
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:328
+msgid "Default Supplier"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:339
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
+#: src/pages/part/PartDetail.tsx:374
#: src/pages/stock/StockDetail.tsx:129
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:409
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:476
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:500
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
+#: src/pages/part/PartDetail.tsx:507
#: src/pages/stock/StockDetail.tsx:277
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:527
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:534
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:540
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:579
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:589
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:600
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:654
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:659
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:664
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:676
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:707
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:715
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:726
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:736
msgid "Part Actions"
msgstr ""
@@ -3933,6 +3967,192 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:137
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:123
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
msgid "Edit Purchase Order"
msgstr ""
@@ -3984,7 +4204,7 @@ msgstr ""
#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
#: src/pages/sales/ReturnOrderDetail.tsx:149
#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
@@ -4054,10 +4274,6 @@ msgstr ""
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:150
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
@@ -4123,12 +4339,12 @@ msgid "Count stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
@@ -4137,7 +4353,7 @@ msgid "Transfer"
msgstr ""
#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
@@ -4149,21 +4365,11 @@ msgstr ""
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4451,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr ""
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr ""
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4753,14 +4987,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5035,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5070,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,85 +5106,81 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
msgid "Add Part"
msgstr ""
@@ -5326,10 +5556,6 @@ msgstr ""
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
msgid "Destination"
msgstr ""
@@ -5371,10 +5597,6 @@ msgstr ""
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
#: src/tables/purchasing/SupplierPartTable.tsx:156
msgid "Add Supplier Part"
msgstr ""
@@ -5793,52 +6015,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
diff --git a/src/frontend/src/pages/build/BuildDetail.tsx b/src/frontend/src/pages/build/BuildDetail.tsx
index e07ae0c9b2..f2488d96fb 100644
--- a/src/frontend/src/pages/build/BuildDetail.tsx
+++ b/src/frontend/src/pages/build/BuildDetail.tsx
@@ -35,7 +35,7 @@ import { NotesEditor } from '../../components/widgets/MarkdownEditor';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
-import { buildOrderFields } from '../../forms/BuildForms';
+import { useBuildOrderFields } from '../../forms/BuildForms';
import { useEditApiFormModal } from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
@@ -279,11 +279,13 @@ export default function BuildDetail() {
];
}, [build, id]);
+ const buildOrderFields = useBuildOrderFields({ create: false });
+
const editBuild = useEditApiFormModal({
url: ApiEndpoints.build_order_list,
pk: build.pk,
title: t`Edit Build Order`,
- fields: buildOrderFields(),
+ fields: buildOrderFields,
onFormSuccess: () => {
refreshInstance();
}
diff --git a/src/frontend/src/pages/company/CompanyDetail.tsx b/src/frontend/src/pages/company/CompanyDetail.tsx
index fe27de7717..7a358a5911 100644
--- a/src/frontend/src/pages/company/CompanyDetail.tsx
+++ b/src/frontend/src/pages/company/CompanyDetail.tsx
@@ -15,10 +15,11 @@ import {
IconTruckReturn,
IconUsersGroup
} from '@tabler/icons-react';
-import { useMemo } from 'react';
+import { ReactNode, useMemo } from 'react';
import { useParams } from 'react-router-dom';
import { DetailsField, DetailsTable } from '../../components/details/Details';
+import DetailsBadge from '../../components/details/DetailsBadge';
import { DetailsImage } from '../../components/details/DetailsImage';
import { ItemDetailsGrid } from '../../components/details/ItemDetails';
import {
@@ -292,6 +293,12 @@ export default function CompanyDetail(props: CompanyDetailProps) {
];
}, [id, company, user]);
+ const badges: ReactNode[] = useMemo(() => {
+ return [
+
+ ];
+ }, [company]);
+
return (
<>
{editCompany.modal}
@@ -303,6 +310,7 @@ export default function CompanyDetail(props: CompanyDetailProps) {
actions={companyActions}
imageUrl={company.image}
breadcrumbs={props.breadcrumbs}
+ badges={badges}
/>
diff --git a/src/frontend/src/pages/company/SupplierPartDetail.tsx b/src/frontend/src/pages/company/SupplierPartDetail.tsx
index 77752144fd..a392b45cf2 100644
--- a/src/frontend/src/pages/company/SupplierPartDetail.tsx
+++ b/src/frontend/src/pages/company/SupplierPartDetail.tsx
@@ -7,10 +7,11 @@ import {
IconPackages,
IconShoppingCart
} from '@tabler/icons-react';
-import { useMemo } from 'react';
-import { useParams } from 'react-router-dom';
+import { ReactNode, useMemo } from 'react';
+import { useNavigate, useParams } from 'react-router-dom';
import { DetailsField, DetailsTable } from '../../components/details/Details';
+import DetailsBadge from '../../components/details/DetailsBadge';
import { DetailsImage } from '../../components/details/DetailsImage';
import { ItemDetailsGrid } from '../../components/details/ItemDetails';
import {
@@ -25,7 +26,11 @@ import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
import { useSupplierPartFields } from '../../forms/CompanyForms';
-import { useEditApiFormModal } from '../../hooks/UseForm';
+import { getDetailUrl } from '../../functions/urls';
+import {
+ useCreateApiFormModal,
+ useEditApiFormModal
+} from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
@@ -38,6 +43,8 @@ export default function SupplierPartDetail() {
const user = useUserState();
+ const navigate = useNavigate();
+
const {
instance: supplierPart,
instanceQuery,
@@ -245,7 +252,8 @@ export default function SupplierPartDetail() {
icon={}
actions={[
DuplicateItemAction({
- hidden: !user.hasAddRole(UserRoles.purchase_order)
+ hidden: !user.hasAddRole(UserRoles.purchase_order),
+ onClick: () => duplicateSupplierPart.open()
}),
EditItemAction({
hidden: !user.hasChangeRole(UserRoles.purchase_order),
@@ -259,19 +267,30 @@ export default function SupplierPartDetail() {
];
}, [user]);
- const editSupplierPartFields = useSupplierPartFields({
- hidePart: true,
- partPk: supplierPart?.pk
- });
+ const supplierPartFields = useSupplierPartFields();
const editSuppliertPart = useEditApiFormModal({
url: ApiEndpoints.supplier_part_list,
pk: supplierPart?.pk,
title: t`Edit Supplier Part`,
- fields: editSupplierPartFields,
+ fields: supplierPartFields,
onFormSuccess: refreshInstance
});
+ const duplicateSupplierPart = useCreateApiFormModal({
+ url: ApiEndpoints.supplier_part_list,
+ title: t`Add Supplier Part`,
+ fields: supplierPartFields,
+ initialData: {
+ ...supplierPart
+ },
+ onFormSuccess: (response: any) => {
+ if (response.pk) {
+ navigate(getDetailUrl(ModelType.supplierpart, response.pk));
+ }
+ }
+ });
+
const breadcrumbs = useMemo(() => {
return [
{
@@ -285,6 +304,16 @@ export default function SupplierPartDetail() {
];
}, [supplierPart]);
+ const badges: ReactNode[] = useMemo(() => {
+ return [
+
+ ];
+ }, [supplierPart]);
+
return (
<>
{editSuppliertPart.modal}
@@ -294,6 +323,7 @@ export default function SupplierPartDetail() {
title={t`Supplier Part`}
subtitle={`${supplierPart.SKU} - ${supplierPart?.part_detail?.name}`}
breadcrumbs={breadcrumbs}
+ badges={badges}
actions={supplierPartActions}
imageUrl={supplierPart?.part_detail?.thumbnail}
/>
diff --git a/src/frontend/src/pages/part/PartDetail.tsx b/src/frontend/src/pages/part/PartDetail.tsx
index 35c9b25beb..895208607e 100644
--- a/src/frontend/src/pages/part/PartDetail.tsx
+++ b/src/frontend/src/pages/part/PartDetail.tsx
@@ -24,7 +24,7 @@ import {
} from '@tabler/icons-react';
import { useSuspenseQuery } from '@tanstack/react-query';
import { ReactNode, useMemo, useState } from 'react';
-import { useParams } from 'react-router-dom';
+import { useNavigate, useParams } from 'react-router-dom';
import { api } from '../../App';
import { DetailsField, DetailsTable } from '../../components/details/Details';
@@ -58,7 +58,10 @@ import {
} from '../../forms/StockForms';
import { InvenTreeIcon } from '../../functions/icons';
import { getDetailUrl } from '../../functions/urls';
-import { useEditApiFormModal } from '../../hooks/UseForm';
+import {
+ useCreateApiFormModal,
+ useEditApiFormModal
+} from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
@@ -83,6 +86,7 @@ export default function PartDetail() {
const { id } = useParams();
const user = useUserState();
+ const navigate = useNavigate();
const [treeOpen, setTreeOpen] = useState(false);
@@ -662,6 +666,12 @@ export default function PartDetail() {
color="blue"
visible={part.building > 0}
key="in_production"
+ />,
+
];
}, [part, instanceQuery]);
@@ -676,6 +686,20 @@ export default function PartDetail() {
onFormSuccess: refreshInstance
});
+ const duplicatePart = useCreateApiFormModal({
+ url: ApiEndpoints.part_list,
+ title: t`Add Part`,
+ fields: partFields,
+ initialData: {
+ ...part
+ },
+ onFormSuccess: (response: any) => {
+ if (response.pk) {
+ navigate(getDetailUrl(ModelType.part, response.pk));
+ }
+ }
+ });
+
const stockActionProps: StockOperationProps = useMemo(() => {
return {
pk: part.pk,
@@ -693,10 +717,10 @@ export default function PartDetail() {
actions={[
ViewBarcodeAction({}),
LinkBarcodeAction({
- hidden: part?.barcode_hash
+ hidden: part?.barcode_hash || !user.hasChangeRole(UserRoles.part)
}),
UnlinkBarcodeAction({
- hidden: !part?.barcode_hash
+ hidden: !part?.barcode_hash || !user.hasChangeRole(UserRoles.part)
})
]}
key="action_dropdown"
@@ -736,7 +760,8 @@ export default function PartDetail() {
icon={}
actions={[
DuplicateItemAction({
- hidden: !user.hasAddRole(UserRoles.part)
+ hidden: !user.hasAddRole(UserRoles.part),
+ onClick: () => duplicatePart.open()
}),
EditItemAction({
hidden: !user.hasChangeRole(UserRoles.part),
@@ -752,6 +777,7 @@ export default function PartDetail() {
return (
<>
+ {duplicatePart.modal}
{editPart.modal}
diff --git a/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx b/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx
index 9dd295c12e..4cfcc11caa 100644
--- a/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx
+++ b/src/frontend/src/pages/purchasing/PurchaseOrderDetail.tsx
@@ -30,7 +30,7 @@ import { NotesEditor } from '../../components/widgets/MarkdownEditor';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
-import { purchaseOrderFields } from '../../forms/PurchaseOrderForms';
+import { usePurchaseOrderFields } from '../../forms/PurchaseOrderForms';
import { useEditApiFormModal } from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
@@ -60,11 +60,13 @@ export default function PurchaseOrderDetail() {
refetchOnMount: true
});
+ const purchaseOrderFields = usePurchaseOrderFields();
+
const editPurchaseOrder = useEditApiFormModal({
url: ApiEndpoints.purchase_order_list,
pk: id,
title: t`Edit Purchase Order`,
- fields: purchaseOrderFields(),
+ fields: purchaseOrderFields,
onFormSuccess: () => {
refreshInstance();
}
@@ -227,7 +229,12 @@ export default function PurchaseOrderDetail() {
name: 'line-items',
label: t`Line Items`,
icon: ,
- content:
+ content: (
+
+ )
},
{
name: 'received-stock',
@@ -269,7 +276,6 @@ export default function PurchaseOrderDetail() {
}, [order, id]);
const poActions = useMemo(() => {
- // TODO: Disable certain actions based on user permissions
return [
}
actions={[
EditItemAction({
+ hidden: !user.hasChangeRole(UserRoles.purchase_order),
onClick: () => {
editPurchaseOrder.open();
}
}),
- DeleteItemAction({})
+ DeleteItemAction({
+ hidden: !user.hasDeleteRole(UserRoles.purchase_order)
+ })
]}
/>
];
diff --git a/src/frontend/src/pages/sales/ReturnOrderDetail.tsx b/src/frontend/src/pages/sales/ReturnOrderDetail.tsx
index 8f7402d334..d4796830a5 100644
--- a/src/frontend/src/pages/sales/ReturnOrderDetail.tsx
+++ b/src/frontend/src/pages/sales/ReturnOrderDetail.tsx
@@ -1,6 +1,7 @@
import { t } from '@lingui/macro';
import { Grid, LoadingOverlay, Skeleton, Stack } from '@mantine/core';
import {
+ IconDots,
IconInfoCircle,
IconList,
IconNotes,
@@ -12,6 +13,11 @@ import { useParams } from 'react-router-dom';
import { DetailsField, DetailsTable } from '../../components/details/Details';
import { DetailsImage } from '../../components/details/DetailsImage';
import { ItemDetailsGrid } from '../../components/details/ItemDetails';
+import {
+ ActionDropdown,
+ DeleteItemAction,
+ EditItemAction
+} from '../../components/items/ActionDropdown';
import { PageDetail } from '../../components/nav/PageDetail';
import { PanelGroup, PanelType } from '../../components/nav/PanelGroup';
import { StatusRenderer } from '../../components/render/StatusRenderer';
@@ -19,8 +25,11 @@ import { NotesEditor } from '../../components/widgets/MarkdownEditor';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
+import { useReturnOrderFields } from '../../forms/SalesOrderForms';
+import { useEditApiFormModal } from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
+import { useUserState } from '../../states/UserState';
import { AttachmentTable } from '../../tables/general/AttachmentTable';
/**
@@ -29,7 +38,13 @@ import { AttachmentTable } from '../../tables/general/AttachmentTable';
export default function ReturnOrderDetail() {
const { id } = useParams();
- const { instance: order, instanceQuery } = useInstance({
+ const user = useUserState();
+
+ const {
+ instance: order,
+ instanceQuery,
+ refreshInstance
+ } = useInstance({
endpoint: ApiEndpoints.return_order_list,
pk: id,
params: {
@@ -233,6 +248,40 @@ export default function ReturnOrderDetail() {
];
}, [order, instanceQuery]);
+ const returnOrderFields = useReturnOrderFields();
+
+ const editReturnOrder = useEditApiFormModal({
+ url: ApiEndpoints.return_order_list,
+ pk: order.pk,
+ title: t`Edit Return Order`,
+ fields: returnOrderFields,
+ onFormSuccess: () => {
+ refreshInstance();
+ }
+ });
+
+ const orderActions = useMemo(() => {
+ return [
+ }
+ actions={[
+ EditItemAction({
+ hidden: !user.hasChangeRole(UserRoles.return_order),
+ onClick: () => {
+ editReturnOrder.open();
+ }
+ }),
+ DeleteItemAction({
+ hidden: !user.hasDeleteRole(UserRoles.return_order)
+ // TODO: Delete?
+ })
+ ]}
+ />
+ ];
+ }, [user]);
+
return (
<>
@@ -242,6 +291,7 @@ export default function ReturnOrderDetail() {
subtitle={order.description}
imageUrl={order.customer_detail?.image}
badges={orderBadges}
+ actions={orderActions}
breadcrumbs={[{ name: t`Sales`, url: '/sales/' }]}
/>
diff --git a/src/frontend/src/pages/sales/SalesOrderDetail.tsx b/src/frontend/src/pages/sales/SalesOrderDetail.tsx
index 5140e83925..610920b21a 100644
--- a/src/frontend/src/pages/sales/SalesOrderDetail.tsx
+++ b/src/frontend/src/pages/sales/SalesOrderDetail.tsx
@@ -1,6 +1,7 @@
import { t } from '@lingui/macro';
import { Grid, LoadingOverlay, Skeleton, Stack } from '@mantine/core';
import {
+ IconDots,
IconInfoCircle,
IconList,
IconNotes,
@@ -15,6 +16,11 @@ import { useParams } from 'react-router-dom';
import { DetailsField, DetailsTable } from '../../components/details/Details';
import { DetailsImage } from '../../components/details/DetailsImage';
import { ItemDetailsGrid } from '../../components/details/ItemDetails';
+import {
+ ActionDropdown,
+ DeleteItemAction,
+ EditItemAction
+} from '../../components/items/ActionDropdown';
import { PageDetail } from '../../components/nav/PageDetail';
import { PanelGroup, PanelType } from '../../components/nav/PanelGroup';
import { StatusRenderer } from '../../components/render/StatusRenderer';
@@ -22,8 +28,11 @@ import { NotesEditor } from '../../components/widgets/MarkdownEditor';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
+import { useSalesOrderFields } from '../../forms/SalesOrderForms';
+import { useEditApiFormModal } from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
+import { useUserState } from '../../states/UserState';
import { BuildOrderTable } from '../../tables/build/BuildOrderTable';
import { AttachmentTable } from '../../tables/general/AttachmentTable';
@@ -33,7 +42,13 @@ import { AttachmentTable } from '../../tables/general/AttachmentTable';
export default function SalesOrderDetail() {
const { id } = useParams();
- const { instance: order, instanceQuery } = useInstance({
+ const user = useUserState();
+
+ const {
+ instance: order,
+ instanceQuery,
+ refreshInstance
+ } = useInstance({
endpoint: ApiEndpoints.sales_order_list,
pk: id,
params: {
@@ -185,6 +200,18 @@ export default function SalesOrderDetail() {
);
}, [order, instanceQuery]);
+ const salesOrderFields = useSalesOrderFields();
+
+ const editSalesOrder = useEditApiFormModal({
+ url: ApiEndpoints.sales_order_list,
+ pk: order.pk,
+ title: t`Edit Sales Order`,
+ fields: salesOrderFields,
+ onFormSuccess: () => {
+ refreshInstance();
+ }
+ });
+
const orderPanels: PanelType[] = useMemo(() => {
return [
{
@@ -245,6 +272,28 @@ export default function SalesOrderDetail() {
];
}, [order, id]);
+ const soActions = useMemo(() => {
+ return [
+ }
+ actions={[
+ EditItemAction({
+ hidden: !user.hasChangeRole(UserRoles.sales_order),
+ onClick: () => {
+ editSalesOrder.open();
+ }
+ }),
+ DeleteItemAction({
+ hidden: !user.hasDeleteRole(UserRoles.sales_order)
+ // TODO: Delete?
+ })
+ ]}
+ />
+ ];
+ }, [user]);
+
const orderBadges: ReactNode[] = useMemo(() => {
return instanceQuery.isLoading
? []
@@ -259,16 +308,20 @@ export default function SalesOrderDetail() {
}, [order, instanceQuery]);
return (
-
-
-
-
-
+ <>
+ {editSalesOrder.modal}
+
+
+
+
+
+ >
);
}
diff --git a/src/frontend/src/pages/stock/StockDetail.tsx b/src/frontend/src/pages/stock/StockDetail.tsx
index 2bcb7c140f..afd7da95c6 100644
--- a/src/frontend/src/pages/stock/StockDetail.tsx
+++ b/src/frontend/src/pages/stock/StockDetail.tsx
@@ -14,7 +14,7 @@ import {
IconSitemap
} from '@tabler/icons-react';
import { ReactNode, useMemo, useState } from 'react';
-import { useParams } from 'react-router-dom';
+import { useNavigate, useParams } from 'react-router-dom';
import { DetailsField, DetailsTable } from '../../components/details/Details';
import DetailsBadge from '../../components/details/DetailsBadge';
@@ -24,6 +24,7 @@ import {
ActionDropdown,
BarcodeActionDropdown,
DeleteItemAction,
+ DuplicateItemAction,
EditItemAction,
LinkBarcodeAction,
UnlinkBarcodeAction,
@@ -41,12 +42,16 @@ import {
StockOperationProps,
useAddStockItem,
useCountStockItem,
- useEditStockItem,
useRemoveStockItem,
+ useStockFields,
useTransferStockItem
} from '../../forms/StockForms';
import { InvenTreeIcon } from '../../functions/icons';
import { getDetailUrl } from '../../functions/urls';
+import {
+ useCreateApiFormModal,
+ useEditApiFormModal
+} from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
@@ -60,6 +65,8 @@ export default function StockDetail() {
const user = useUserState();
+ const navigate = useNavigate();
+
const [treeOpen, setTreeOpen] = useState(false);
const {
@@ -340,9 +347,30 @@ export default function StockDetail() {
[stockitem]
);
- const editStockItem = useEditStockItem({
- item_id: stockitem.pk,
- callback: () => refreshInstance()
+ const editStockItemFields = useStockFields({ create: false });
+
+ const editStockItem = useEditApiFormModal({
+ url: ApiEndpoints.stock_item_list,
+ pk: stockitem.pk,
+ title: t`Edit Stock Item`,
+ fields: editStockItemFields,
+ onFormSuccess: refreshInstance
+ });
+
+ const duplicateStockItemFields = useStockFields({ create: true });
+
+ const duplicateStockItem = useCreateApiFormModal({
+ url: ApiEndpoints.stock_item_list,
+ title: t`Add Stock Item`,
+ fields: duplicateStockItemFields,
+ initialData: {
+ ...stockitem
+ },
+ onFormSuccess: (response: any) => {
+ if (response.pk) {
+ navigate(getDetailUrl(ModelType.stockitem, response.pk));
+ }
+ }
});
const stockActionProps: StockOperationProps = useMemo(() => {
@@ -359,15 +387,17 @@ export default function StockDetail() {
const transferStockItem = useTransferStockItem(stockActionProps);
const stockActions = useMemo(
- () => /* TODO: Disable actions based on user permissions*/ [
+ () => [
,
@@ -416,16 +446,20 @@ export default function StockDetail() {
/>,
}
actions={[
- {
- name: t`Duplicate`,
- tooltip: t`Duplicate stock item`,
- icon:
- },
- EditItemAction({}),
- DeleteItemAction({})
+ DuplicateItemAction({
+ hidden: !user.hasAddRole(UserRoles.stock),
+ onClick: () => duplicateStockItem.open()
+ }),
+ EditItemAction({
+ hidden: !user.hasChangeRole(UserRoles.stock),
+ onClick: () => editStockItem.open()
+ }),
+ DeleteItemAction({
+ hidden: !user.hasDeleteRole(UserRoles.stock)
+ })
]}
/>
],
@@ -484,6 +518,7 @@ export default function StockDetail() {
/>
{editStockItem.modal}
+ {duplicateStockItem.modal}
{countStockItem.modal}
{addStockItem.modal}
{removeStockItem.modal}
diff --git a/src/frontend/src/tables/build/BuildOrderTable.tsx b/src/frontend/src/tables/build/BuildOrderTable.tsx
index 962385e1f0..8aa6f3011e 100644
--- a/src/frontend/src/tables/build/BuildOrderTable.tsx
+++ b/src/frontend/src/tables/build/BuildOrderTable.tsx
@@ -10,7 +10,7 @@ import { renderDate } from '../../defaults/formatters';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
-import { buildOrderFields } from '../../forms/BuildForms';
+import { useBuildOrderFields } from '../../forms/BuildForms';
import { getDetailUrl } from '../../functions/urls';
import { useCreateApiFormModal } from '../../hooks/UseForm';
import { useTable } from '../../hooks/UseTable';
@@ -137,10 +137,12 @@ export function BuildOrderTable({
const table = useTable('buildorder');
+ const buildOrderFields = useBuildOrderFields({ create: true });
+
const newBuild = useCreateApiFormModal({
url: ApiEndpoints.build_order_list,
title: t`Add Build Order`,
- fields: buildOrderFields(),
+ fields: buildOrderFields,
initialData: {
part: partId,
sales_order: salesOrderId,
diff --git a/src/frontend/src/tables/company/CompanyTable.tsx b/src/frontend/src/tables/company/CompanyTable.tsx
index 026c705d40..e70742dd13 100644
--- a/src/frontend/src/tables/company/CompanyTable.tsx
+++ b/src/frontend/src/tables/company/CompanyTable.tsx
@@ -1,5 +1,6 @@
import { t } from '@lingui/macro';
import { Group, Text } from '@mantine/core';
+import { access } from 'fs';
import { useMemo } from 'react';
import { useNavigate } from 'react-router-dom';
@@ -12,7 +13,8 @@ import { useCreateApiFormModal } from '../../hooks/UseForm';
import { useTable } from '../../hooks/UseTable';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
-import { DescriptionColumn } from '../ColumnRenderers';
+import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers';
+import { TableFilter } from '../Filter';
import { InvenTreeTable } from '../InvenTreeTable';
/**
@@ -50,6 +52,12 @@ export function CompanyTable({
}
},
DescriptionColumn({}),
+ BooleanColumn({
+ accessor: 'active',
+ title: t`Active`,
+ sortable: true,
+ switchable: true
+ }),
{
accessor: 'website',
sortable: false
@@ -72,6 +80,31 @@ export function CompanyTable({
}
});
+ const tableFilters: TableFilter[] = useMemo(() => {
+ return [
+ {
+ name: 'active',
+ label: t`Active`,
+ description: t`Show active companies`
+ },
+ {
+ name: 'is_supplier',
+ label: t`Supplier`,
+ description: t`Show companies which are suppliers`
+ },
+ {
+ name: 'is_manufacturer',
+ label: t`Manufacturer`,
+ description: t`Show companies which are manufacturers`
+ },
+ {
+ name: 'is_customer',
+ label: t`Customer`,
+ description: t`Show companies which are customers`
+ }
+ ];
+ }, []);
+
const tableActions = useMemo(() => {
const can_add =
user.hasAddRole(UserRoles.purchase_order) ||
@@ -97,6 +130,7 @@ export function CompanyTable({
params: {
...params
},
+ tableFilters: tableFilters,
tableActions: tableActions,
onRowClick: (row: any) => {
if (row.pk) {
diff --git a/src/frontend/src/tables/company/ContactTable.tsx b/src/frontend/src/tables/company/ContactTable.tsx
index 6641131e39..83e4e6ebf8 100644
--- a/src/frontend/src/tables/company/ContactTable.tsx
+++ b/src/frontend/src/tables/company/ContactTable.tsx
@@ -63,9 +63,7 @@ export function ContactTable({
};
}, []);
- const [selectedContact, setSelectedContact] = useState(
- undefined
- );
+ const [selectedContact, setSelectedContact] = useState(0);
const editContact = useEditApiFormModal({
url: ApiEndpoints.contact_list,
diff --git a/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx b/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx
index ecac9aef13..9f85529353 100644
--- a/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx
+++ b/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx
@@ -44,9 +44,11 @@ import { TableHoverCard } from '../TableHoverCard';
*/
export function PurchaseOrderLineItemTable({
orderId,
+ supplierId,
params
}: {
orderId: number;
+ supplierId?: number;
params?: any;
}) {
const table = useTable('purchase-order-line-item');
@@ -67,7 +69,7 @@ export function PurchaseOrderLineItemTable({
return [
{
accessor: 'part',
- title: t`Part`,
+ title: t`Internal Part`,
sortable: true,
switchable: false,
render: (record: any) => {
@@ -183,25 +185,35 @@ export function PurchaseOrderLineItemTable({
];
}, [orderId, user]);
+ const addPurchaseOrderFields = usePurchaseOrderLineItemFields({
+ create: true,
+ orderId: orderId,
+ supplierId: supplierId
+ });
+
+ const [initialData, setInitialData] = useState({});
+
const newLine = useCreateApiFormModal({
url: ApiEndpoints.purchase_order_line_list,
title: t`Add Line Item`,
- fields: usePurchaseOrderLineItemFields({ create: true }),
- initialData: {
- order: orderId
- },
+ fields: addPurchaseOrderFields,
+ initialData: initialData,
onFormSuccess: table.refreshTable
});
- const [selectedLine, setSelectedLine] = useState(
- undefined
- );
+ const [selectedLine, setSelectedLine] = useState(0);
+
+ const editPurchaseOrderFields = usePurchaseOrderLineItemFields({
+ create: false,
+ orderId: orderId,
+ supplierId: supplierId
+ });
const editLine = useEditApiFormModal({
url: ApiEndpoints.purchase_order_line_list,
pk: selectedLine,
title: t`Edit Line Item`,
- fields: usePurchaseOrderLineItemFields({}),
+ fields: editPurchaseOrderFields,
onFormSuccess: table.refreshTable
});
@@ -235,7 +247,11 @@ export function PurchaseOrderLineItemTable({
}
}),
RowDuplicateAction({
- hidden: !user.hasAddRole(UserRoles.purchase_order)
+ hidden: !user.hasAddRole(UserRoles.purchase_order),
+ onClick: () => {
+ setInitialData({ ...record });
+ newLine.open();
+ }
}),
RowDeleteAction({
hidden: !user.hasDeleteRole(UserRoles.purchase_order),
@@ -254,7 +270,12 @@ export function PurchaseOrderLineItemTable({
return [
newLine.open()}
+ onClick={() => {
+ setInitialData({
+ order: orderId
+ });
+ newLine.open();
+ }}
hidden={!user?.hasAddRole(UserRoles.purchase_order)}
/>,
{
+ return formatCurrency(record.total_price, {
+ currency: record.order_currency ?? record.supplier_detail?.currency
+ });
+ }
+ },
ResponsibleColumn()
];
}, []);
+ const purchaseOrderFields = usePurchaseOrderFields();
+
const newPurchaseOrder = useCreateApiFormModal({
url: ApiEndpoints.purchase_order_list,
title: t`Add Purchase Order`,
- fields: purchaseOrderFields(),
+ fields: purchaseOrderFields,
initialData: {
supplier: supplierId
},
diff --git a/src/frontend/src/tables/purchasing/SupplierPartTable.tsx b/src/frontend/src/tables/purchasing/SupplierPartTable.tsx
index 9bc820c4a3..70de5f778c 100644
--- a/src/frontend/src/tables/purchasing/SupplierPartTable.tsx
+++ b/src/frontend/src/tables/purchasing/SupplierPartTable.tsx
@@ -1,6 +1,6 @@
import { t } from '@lingui/macro';
import { Text } from '@mantine/core';
-import { ReactNode, useCallback, useMemo } from 'react';
+import { ReactNode, useCallback, useMemo, useState } from 'react';
import { AddItemButton } from '../../components/buttons/AddItemButton';
import { Thumbnail } from '../../components/images/Thumbnail';
@@ -9,17 +9,23 @@ import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
import { useSupplierPartFields } from '../../forms/CompanyForms';
import { openDeleteApiForm, openEditApiForm } from '../../functions/forms';
-import { useCreateApiFormModal } from '../../hooks/UseForm';
+import {
+ useCreateApiFormModal,
+ useDeleteApiFormModal,
+ useEditApiFormModal
+} from '../../hooks/UseForm';
import { useTable } from '../../hooks/UseTable';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
import { TableColumn } from '../Column';
import {
+ BooleanColumn,
DescriptionColumn,
LinkColumn,
NoteColumn,
PartColumn
} from '../ColumnRenderers';
+import { TableFilter } from '../Filter';
import { InvenTreeTable } from '../InvenTreeTable';
import { RowDeleteAction, RowEditAction } from '../RowActions';
import { TableHoverCard } from '../TableHoverCard';
@@ -88,6 +94,12 @@ export function SupplierPartTable({ params }: { params: any }): ReactNode {
title: t`MPN`,
render: (record: any) => record?.manufacturer_part_detail?.MPN
},
+ BooleanColumn({
+ accessor: 'active',
+ title: t`Active`,
+ sortable: true,
+ switchable: true
+ }),
{
accessor: 'in_stock',
sortable: true
@@ -145,35 +157,67 @@ export function SupplierPartTable({ params }: { params: any }): ReactNode {
];
}, [params]);
- const addSupplierPartFields = useSupplierPartFields({
- partPk: params?.part,
- supplierPk: params?.supplier,
- hidePart: true
+ const supplierPartFields = useSupplierPartFields();
+
+ const addSupplierPart = useCreateApiFormModal({
+ url: ApiEndpoints.supplier_part_list,
+ title: t`Add Supplier Part`,
+ fields: supplierPartFields,
+ initialData: {
+ part: params?.part,
+ supplier: params?.supplier
+ },
+ onFormSuccess: table.refreshTable,
+ successMessage: t`Supplier part created`
});
- const { modal: addSupplierPartModal, open: openAddSupplierPartForm } =
- useCreateApiFormModal({
- url: ApiEndpoints.supplier_part_list,
- title: t`Add Supplier Part`,
- fields: addSupplierPartFields,
- onFormSuccess: table.refreshTable,
- successMessage: t`Supplier part created`
- });
- // Table actions
const tableActions = useMemo(() => {
- // TODO: Hide actions based on user permissions
-
return [
addSupplierPart.open()}
+ hidden={!user.hasAddRole(UserRoles.purchase_order)}
/>
];
}, [user]);
- const editSupplierPartFields = useSupplierPartFields({
- hidePart: true,
- partPk: params?.part
+ const tableFilters: TableFilter[] = useMemo(() => {
+ return [
+ {
+ name: 'active',
+ label: t`Active`,
+ description: t`Show active supplier parts`
+ },
+ {
+ name: 'part_active',
+ label: t`Active Part`,
+ description: t`Show active internal parts`
+ },
+ {
+ name: 'supplier_active',
+ label: t`Active Supplier`,
+ description: t`Show active suppliers`
+ }
+ ];
+ }, []);
+
+ const editSupplierPartFields = useSupplierPartFields();
+
+ const [selectedSupplierPart, setSelectedSupplierPart] = useState(0);
+
+ const editSupplierPart = useEditApiFormModal({
+ url: ApiEndpoints.supplier_part_list,
+ pk: selectedSupplierPart,
+ title: t`Edit Supplier Part`,
+ fields: editSupplierPartFields,
+ onFormSuccess: () => table.refreshTable()
+ });
+
+ const deleteSupplierPart = useDeleteApiFormModal({
+ url: ApiEndpoints.supplier_part_list,
+ pk: selectedSupplierPart,
+ title: t`Delete Supplier Part`,
+ onFormSuccess: () => table.refreshTable()
});
// Row action callback
@@ -183,29 +227,15 @@ export function SupplierPartTable({ params }: { params: any }): ReactNode {
RowEditAction({
hidden: !user.hasChangeRole(UserRoles.purchase_order),
onClick: () => {
- record.pk &&
- openEditApiForm({
- url: ApiEndpoints.supplier_part_list,
- pk: record.pk,
- title: t`Edit Supplier Part`,
- fields: editSupplierPartFields,
- onFormSuccess: table.refreshTable,
- successMessage: t`Supplier part updated`
- });
+ setSelectedSupplierPart(record.pk);
+ editSupplierPart.open();
}
}),
RowDeleteAction({
hidden: !user.hasDeleteRole(UserRoles.purchase_order),
onClick: () => {
- record.pk &&
- openDeleteApiForm({
- url: ApiEndpoints.supplier_part_list,
- pk: record.pk,
- title: t`Delete Supplier Part`,
- successMessage: t`Supplier part deleted`,
- onFormSuccess: table.refreshTable,
- preFormWarning: t`Are you sure you want to remove this supplier part?`
- });
+ setSelectedSupplierPart(record.pk);
+ deleteSupplierPart.open();
}
})
];
@@ -215,7 +245,9 @@ export function SupplierPartTable({ params }: { params: any }): ReactNode {
return (
<>
- {addSupplierPartModal}
+ {addSupplierPart.modal}
+ {editSupplierPart.modal}
+ {deleteSupplierPart.modal}
diff --git a/src/frontend/src/tables/sales/ReturnOrderTable.tsx b/src/frontend/src/tables/sales/ReturnOrderTable.tsx
index 2c007848b5..c9c98564d5 100644
--- a/src/frontend/src/tables/sales/ReturnOrderTable.tsx
+++ b/src/frontend/src/tables/sales/ReturnOrderTable.tsx
@@ -1,12 +1,17 @@
import { t } from '@lingui/macro';
import { useCallback, useMemo } from 'react';
+import { useNavigate } from 'react-router-dom';
import { AddItemButton } from '../../components/buttons/AddItemButton';
import { Thumbnail } from '../../components/images/Thumbnail';
+import { formatCurrency } from '../../defaults/formatters';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
+import { useReturnOrderFields } from '../../forms/SalesOrderForms';
import { notYetImplemented } from '../../functions/notifications';
+import { getDetailUrl } from '../../functions/urls';
+import { useCreateApiFormModal } from '../../hooks/UseForm';
import { useTable } from '../../hooks/UseTable';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
@@ -18,8 +23,7 @@ import {
ReferenceColumn,
ResponsibleColumn,
StatusColumn,
- TargetDateColumn,
- TotalPriceColumn
+ TargetDateColumn
} from '../ColumnRenderers';
import {
AssignedToMeFilter,
@@ -33,6 +37,7 @@ import { InvenTreeTable } from '../InvenTreeTable';
export function ReturnOrderTable({ params }: { params?: any }) {
const table = useTable('return-orders');
const user = useUserState();
+ const navigate = useNavigate();
const tableFilters: TableFilter[] = useMemo(() => {
return [
@@ -48,10 +53,6 @@ export function ReturnOrderTable({ params }: { params?: any }) {
];
}, []);
- // TODO: Row actions
-
- // TODO: Table actions (e.g. create new return order)
-
const tableColumns = useMemo(() => {
return [
ReferenceColumn(),
@@ -81,38 +82,61 @@ export function ReturnOrderTable({ params }: { params?: any }) {
CreationDateColumn(),
TargetDateColumn(),
ResponsibleColumn(),
- TotalPriceColumn()
+ {
+ accessor: 'total_price',
+ title: t`Total Price`,
+ sortable: true,
+ render: (record: any) => {
+ return formatCurrency(record.total_price, {
+ currency: record.order_currency ?? record.customer_detail?.currency
+ });
+ }
+ }
];
}, []);
- const addReturnOrder = useCallback(() => {
- notYetImplemented();
- }, []);
+ const returnOrderFields = useReturnOrderFields();
+
+ const newReturnOrder = useCreateApiFormModal({
+ url: ApiEndpoints.return_order_list,
+ title: t`Add Return Order`,
+ fields: returnOrderFields,
+ onFormSuccess: (response) => {
+ if (response.pk) {
+ navigate(getDetailUrl(ModelType.returnorder, response.pk));
+ } else {
+ table.refreshTable();
+ }
+ }
+ });
const tableActions = useMemo(() => {
return [
newReturnOrder.open()}
+ hidden={!user.hasAddRole(UserRoles.return_order)}
/>
];
}, [user]);
return (
-
+ <>
+ {newReturnOrder.modal}
+
+ >
);
}
diff --git a/src/frontend/src/tables/sales/SalesOrderTable.tsx b/src/frontend/src/tables/sales/SalesOrderTable.tsx
index de516eda0e..a2ede2f2b6 100644
--- a/src/frontend/src/tables/sales/SalesOrderTable.tsx
+++ b/src/frontend/src/tables/sales/SalesOrderTable.tsx
@@ -4,10 +4,11 @@ import { useNavigate } from 'react-router-dom';
import { AddItemButton } from '../../components/buttons/AddItemButton';
import { Thumbnail } from '../../components/images/Thumbnail';
+import { formatCurrency } from '../../defaults/formatters';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
-import { salesOrderFields } from '../../forms/SalesOrderForms';
+import { useSalesOrderFields } from '../../forms/SalesOrderForms';
import { getDetailUrl } from '../../functions/urls';
import { useCreateApiFormModal } from '../../hooks/UseForm';
import { useTable } from '../../hooks/UseTable';
@@ -21,8 +22,7 @@ import {
ReferenceColumn,
ShipmentDateColumn,
StatusColumn,
- TargetDateColumn,
- TotalPriceColumn
+ TargetDateColumn
} from '../ColumnRenderers';
import {
AssignedToMeFilter,
@@ -61,10 +61,12 @@ export function SalesOrderTable({
];
}, []);
+ const salesOrderFields = useSalesOrderFields();
+
const newSalesOrder = useCreateApiFormModal({
url: ApiEndpoints.sales_order_list,
title: t`Add Sales Order`,
- fields: salesOrderFields(),
+ fields: salesOrderFields,
initialData: {
customer: customerId
},
@@ -117,7 +119,16 @@ export function SalesOrderTable({
CreationDateColumn(),
TargetDateColumn(),
ShipmentDateColumn(),
- TotalPriceColumn()
+ {
+ accessor: 'total_price',
+ title: t`Total Price`,
+ sortable: true,
+ render: (record: any) => {
+ return formatCurrency(record.total_price, {
+ currency: record.order_currency ?? record.customer_detail?.currency
+ });
+ }
+ }
];
}, []);
diff --git a/src/frontend/src/tables/stock/StockItemTestResultTable.tsx b/src/frontend/src/tables/stock/StockItemTestResultTable.tsx
index 3ceb134945..a7fb6eebfb 100644
--- a/src/frontend/src/tables/stock/StockItemTestResultTable.tsx
+++ b/src/frontend/src/tables/stock/StockItemTestResultTable.tsx
@@ -279,9 +279,7 @@ export default function StockItemTestResultTable({
successMessage: t`Test result added`
});
- const [selectedTest, setSelectedTest] = useState(
- undefined
- );
+ const [selectedTest, setSelectedTest] = useState(0);
const editTestModal = useEditApiFormModal({
url: ApiEndpoints.stock_test_result_list,
diff --git a/src/frontend/tests/pui_stock.spec.ts b/src/frontend/tests/pui_stock.spec.ts
index 52b4d1bc96..f4db6aa2e1 100644
--- a/src/frontend/tests/pui_stock.spec.ts
+++ b/src/frontend/tests/pui_stock.spec.ts
@@ -67,6 +67,11 @@ test('PUI - Purchasing', async ({ page }) => {
.click();
await page.getByRole('menuitem', { name: 'Edit' }).click();
await page.getByLabel('Address title *').waitFor();
+
+ // Read the current value of the cell, to ensure we always *change* it!
+ const value = await page.getByLabel('Line 2').inputValue();
+ await page.getByLabel('Line 2').fill(value == 'old' ? 'new' : 'old');
+
await page.getByRole('button', { name: 'Submit' }).isEnabled();
await page.getByRole('button', { name: 'Submit' }).click();